Desempenho

O que é CPU steal time?

Também conhecido como: st time
Definição

Steal time is the proportion of time a virtual CPU was ready to run but the hypervisor gave the physical core to another guest. It appears as the "st" column in top and vmstat. Sustained values above 2–3% indicate contention and show up as tail-latency spikes rather than as uniformly slow throughput.

Porque é que CPU steal time importa

Aparece como a coluna "st" no top e no vmstat. Valores sustentados acima de 2–3% indicam contenção e manifestam-se como picos de latência na cauda, em vez de débito uniformemente lento.

CPU steal time na prática

Quando está a executar um servidor, observe a coluna st no top e no vmstat. Se estiver consistentemente acima de 2–3%, a sua CPU está a ser partilhada mais do que a sua carga espera. O custo não é uma desaceleração uniforme—são picos de latência que arruínam trabalhos sensíveis ao tempo. Pode mudar de tamanho de instância ou mudar para um host menos lotado. Se ignorar, perseguirá fantasmas no seu próprio ajuste enquanto o gargalo real está no lado do hipervisor.

O que se costuma entender mal sobre CPU steal time

As pessoas muitas vezes confundem tempo de roubo de CPU com um sinal de que os seus próprios processos estão a consumir demasiada CPU. Não é. Tempo de roubo significa que a sua CPU virtual estava pronta, mas o hipervisor deu o núcleo físico a outro convidado. A correção: olhe para a coluna st, não para as colunas user ou system. Roubo elevado significa que o problema está fora da sua instância, não dentro.

CPU steal time — perguntas frequentes

Por que o tempo de roubo de CPU é tão alto no meu VPS?

Tempo de roubo elevado normalmente significa que o seu hipervisor está sobrescrito. Outros convidados no mesmo host físico estão a competir por núcleos. Não é causado apenas pela sua carga. Se st permanecer acima de 2–3%, considere mudar para um fornecedor com menos contenção ou um núcleo dedicado.

Posso reduzir o tempo de roubo de CPU por mim mesmo?

Não diretamente de dentro da sua instância. O tempo de roubo é imposto pelo hipervisor. Pode reduzir a sua dependência da CPU otimizando o seu código, mas o roubo real só diminui se o anfitrião tiver menos contenção. Por vezes, migrar para um anfitrião físico diferente ajuda.

Mais de desempenho

RTT
RTT é o tempo para um pacote chegar a um destino e para a resposta voltar, medido em milissegundos.
Jitter
Jitter é a variação no atraso de pacotes ao longo do tempo, ao contrário do atraso médio em si.
TTFB
TTFB mede o tempo desde o envio de um pedido até à chegada do primeiro byte da resposta.