Desempenho e fiabilidade

O que é o tempo de roubo de CPU e por que é que importa?

Resposta curta

O tempo de roubo é a percentagem de tempo em que a sua CPU virtual estava pronta para executar, mas o hypervisor deu o núcleo físico a outra pessoa. Aparece como a coluna "st" no top. Qualquer coisa consistentemente acima de 2–3% significa que está a competir pelo núcleo, e é a causa habitual de picos de latência inexplicáveis numa instância com vCPU partilhado.

O tempo de roubo é invisível para a sua aplicação: o código corre a velocidade máxima quando corre, só que nem sempre tem oportunidade de correr. É por isso que se manifesta como latência na cauda e não como débito lento, e por que é que os tempos de resposta médios podem parecer bons enquanto o percentil 99 é terrível.

A solução é vCPU dedicado, onde um thread físico está reservado para si e nenhum outro inquilino é agendado contra ele. Dois núcleos dedicados superam rotineiramente quatro partilhados para qualquer coisa sensível à latência.

Ver também: Hipervisor · vCPU