Desempenho

O que é Jitter?

Definição

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.

Porque é que Jitter importa

Para voz, jogos e negociação, a variação de atraso é muitas vezes mais importante do que a latência: uns consistentes 60 ms são muito mais utilizáveis do que uma média de 40 ms que regularmente picos de 200 ms, porque os buffers são dimensionados para o pior caso em vez da média. A variação geralmente vem de filas numa ligação congestionada, de flutuação de rota ou — no lado do servidor — de tempo de roubo de CPU que atrasa o processo que deveria ter respondido. Essa última causa é invisível numa trace de rede e é a razão pela qual a vCPU dedicada importa para cargas de trabalho sensíveis à latência. Meça-a com mtr ou uma execução longa de iperf3 em vez de um punhado de pings; uma amostra de cinco pacotes quase não lhe diz nada sobre a variância.

Jitter na prática

Quando executa um serviço sensível à latência, o jitter é o que mede com o mtr ou uma execução longa de iperf3, não um punhado de pings. Observe a variação na coluna de atraso, não apenas a média. Se vir picos, verifique o tempo de roubo de CPU no anfitrião — isso é invisível num rastreio de rede. Reduza o jitter garantindo que tem vCPU dedicado, não recursos partilhados. Se errar, os seus buffers serão dimensionados para o pior cenário, o que significa que o seu tráfego de voz, jogos ou negociação degrada-se até ficar inutilizável durante os picos.

O que se costuma entender mal sobre Jitter

As pessoas assumem que uma latência média baixa significa bom desempenho. O erro comum é ignorar a variação, pensando que uma média de 40 ms com picos de 200 ms é aceitável. Correto: o jitter muitas vezes importa mais do que a latência — os buffers são dimensionados para o pior cenário, por isso 60 ms consistentes superam uma média de 40 ms que tem picos regulares. Meça sempre ao longo do tempo.

Jitter — perguntas frequentes

Que ferramenta posso usar para medir jitter?

Use o mtr para uma visão rápida ou uma execução longa de iperf3 para análise de variação. Uma amostra de cinco pings diz-lhe quase nada sobre jitter — mostra apenas a latência média. Executar um teste durante um período mais longo revela os picos na variação de atraso que realmente importam para tráfego real.

Como o tempo de roubo de CPU afeta o jitter?

O tempo de roubo de CPU atrasa o processo que deveria responder a um pacote, adicionando picos de latência inesperados. Esta causa é invisível num rastreio de rede, por isso muitas vezes é ignorada. É por isso que o vCPU dedicado importa para cargas de trabalho sensíveis à latência — em anfitriões partilhados, o tempo de roubo introduz jitter que não consegue corrigir no lado da rede.

Mais de desempenho

Tempo de roubo de CPU
Tempo de roubo é a proporção de tempo em que uma CPU virtual estava pronta para executar, mas o hipervisor deu o núcleo físico a outro convidado.
RTT
RTT é o tempo para um pacote chegar a um destino e para a resposta voltar, medido em milissegundos.
TTFB
TTFB mede o tempo desde o envio de um pedido até à chegada do primeiro byte da resposta.