Alta% de CPU roubada na instância do EC2 em intervalos extremamente regulares

4

Eu tenho uma instância do m1.small EC2 na AWS executando alguns sites. Percebi que o uso da minha CPU tem picos em intervalos regulares de tempo, exatamente a cada 30 minutos (0:06, 0:36, 1:06, ...).

Eu verifiquei meus crons (eu tenho muitos), bot ninguém corre a cada 30 minutos. Olhando para top , notei que os picos têm cerca de 1 minuto de duração e são quase inteiramente feitos de "CPU roubada" (% st) . Eu li que o tempo de CPU foi roubado pelo hypervisor do Amazon VM, mas não consigo entender por que isso acontece (não estou executando materiais intensivos da CPU quando isso ocorre) e por que é exatamente a cada 30 minutos.

Você tem alguma pista? Devo comprar uma instância maior? Espero que não, porque o restante do tempo da CPU é muito baixo e a média de carga nunca passa de 0,5 ...

    
por lorenzo-s 13.03.2014 / 17:28

1 resposta

11

Dependendo do tipo de instância do EC2 e do hardware subjacente, talvez você não esteja pagando pelo acesso a todos os ciclos de CPU subjacentes. A Amazon não lhe dará acesso a 100% de uma CPU moderna e rápida se você solicitou um m1.small que promete ser equivalente a uma CPU antiga e lenta.

No EC2, roubar não depende da atividade de outros vizinhos da máquina virtual. É simplesmente uma questão de EC2, certificando-se de que você não está recebendo mais ciclos de CPU do que está pagando.

Se o seu m1.small obtiver 50% da CPU mais rápida subjacente, então, para cada bit da CPU que você estiver usando, você verá outra porcentagem igual sinalizada como roubo.

Seria bom se o EC2 deixasse você pensar que sua verdadeira CPU disponível era "100%" em vez de provocá-lo com o restante da CPU a que você não tem acesso e, em seguida, dizer que você não pode quando você tenta usar a CPU, mas é assim que funciona dada a VM atual e a configuração do host.

É provável que instâncias de m1.small mostrem uma alta porcentagem de roubo, dada a CPU limitada a que têm acesso pelo preço em comparação com as velocidades de CPU no hardware subjacente.

Se você está preocupado que esta instância em particular possa ter algo quebrado no lado do EC2, você poderia parar / iniciá-la para movê-la para um novo hardware ( meu artigo sobre isso ) e veja se isso faz a diferença. É claro que, se as porcentagens de roubo caírem, isso pode indicar apenas que você mudou para uma CPU de hardware mais lenta.

Quanto à atividade a cada 30 minutos, isso é software no seu servidor. Pode ser uma tarefa cron do sistema ou pode ser acionada por um daemon (processo em segundo plano).

    
por 14.03.2014 / 22:40