Performances

Qu'est-ce que Jitter ?

Définition

Jitter is variation in packet delay over time, as distinct from the average delay itself. For voice, gaming and trading, jitter often matters more than latency: a consistent 60 ms is far more usable than an average of 40 ms that regularly spikes to 200 ms, because buffers are sized for the worst case rather than the mean.

Pourquoi Jitter est important

Pour la voix, le jeu et le trading, la gigue compte souvent plus que la latence : un 60 ms constant est bien plus utilisable qu'une moyenne de 40 ms qui grimpe régulièrement à 200 ms, car les tampons sont dimensionnés pour le pire cas plutôt que la moyenne. La gigue vient généralement de la file d'attente sur un lien congestionné, du flapping de route, ou — côté serveur — du temps de vol CPU qui retarde le processus qui aurait dû répondre. Cette dernière cause est invisible dans une trace réseau et c'est la raison pour laquelle un vCPU dédié compte pour les charges sensibles à la latence. Mesurez-la avec mtr ou un long run iperf3 plutôt que quelques pings ; un échantillon de cinq paquets ne vous dit presque rien sur la variance.

Jitter en pratique

Lorsque vous exécutez un service sensible à la latence, la gigue se mesure avec mtr ou une longue session iperf3, pas avec quelques pings. Surveillez la variance dans la colonne de délai, pas seulement la moyenne. Si vous voyez des pics, vérifiez le temps de vol de CPU sur l'hôte—cela est invisible dans une trace réseau. Réduisez la gigue en vous assurant d'avoir des vCPU dédiés, et non des ressources partagées. Si vous vous trompez, vos tampons seront dimensionnés pour le pire cas, ce qui signifie que votre trafic vocal, de jeu ou de trading se dégradera jusqu'à devenir inutilisable pendant les pics.

Ce qu'on comprend mal à propos de Jitter

Les gens supposent qu'une faible latence moyenne signifie de bonnes performances. L'erreur courante est d'ignorer la variance, en pensant qu'une moyenne de 40 ms avec des pics à 200 ms est acceptable. Correct : la gigue importe souvent plus que la latence—les tampons sont dimensionnés pour le pire cas, donc une valeur constante de 60 ms surpasse une moyenne de 40 ms qui a régulièrement des pics. Mesurez toujours sur la durée.

Jitter — questions fréquentes

Quel outil puis-je utiliser pour mesurer la gigue ?

Utilisez mtr pour une vue rapide ou une longue session iperf3 pour une analyse de variance. Un échantillon de cinq pings ne vous dit presque rien sur la gigue—il ne montre que la latence moyenne. Effectuer un test sur une période plus longue révèle les pics de variation de délai qui comptent réellement pour le trafic réel.

Comment le temps de vol de CPU affecte-t-il la gigue ?

Le temps de vol de CPU retarde le processus qui devrait répondre à un paquet, ajoutant des pics de latence inattendus. Cette cause est invisible dans une trace réseau, donc elle est souvent manquée. C'est pourquoi les vCPU dédiés comptent pour les charges de travail sensibles à la latence—sur les hôtes partagés, le temps de vol introduit une gigue que vous ne pouvez pas corriger côté réseau.

Plus de performances

Temps de vol CPU (steal time)
Le steal time est la proportion de temps pendant laquelle un CPU virtuel était prêt à s'exécuter mais l'hyperviseur a donné le cœur physique à un autre invité.
RTT
Le RTT est le temps nécessaire à un paquet pour voyager vers une destination et pour que la réponse revienne, mesuré en millisecondes.
TTFB
Le TTFB mesure le temps entre l'envoi d'une requête et la réception du premier octet de la réponse.