Performances et fiabilité

Qu'est-ce que le temps de vol (steal time) du CPU et pourquoi est-ce important ?

Réponse courte

Le temps de vol est le pourcentage de temps où votre CPU virtuel était prêt à s'exécuter mais où l'hyperviseur a donné le cœur physique à quelqu'un d'autre. Il apparaît comme la colonne "st" dans top. Tout ce qui est constamment au-dessus de 2–3 % signifie que vous êtes en concurrence pour le cœur, et c'est la cause habituelle des pics de latence inexpliqués sur une instance à vCPU partagé.

Le temps de vol est invisible pour votre application : le code s'exécute à pleine vitesse quand il s'exécute, il n'a simplement pas toujours la possibilité de s'exécuter. C'est pourquoi il se manifeste par une latence de queue plutôt que par un débit lent, et pourquoi les temps de réponse moyens peuvent sembler corrects alors que le 99e percentile est terrible.

La solution est un vCPU dédié, où un thread physique vous est réservé et aucun autre locataire n'est programmé contre lui. Deux cœurs dédiés surpassent régulièrement quatre cœurs partagés pour tout ce qui est sensible à la latence.

Voir aussi: Hyperviseur · vCPU