Não há indício para alta média de carga no topo

1

Temos várias máquinas na Amazon (ec2) do tipo c1.xlarge com 16 cpus, executando a Amazon AMI.

Detalhes sobre a máquina:
7 GB de memória
20 Unidades de computação EC2 (8 núcleos virtuais com 2,5 Unidades de computação EC2 cada)
1690 GB de armazenamento de instâncias
Plataforma de 64 bits
Desempenho de I / O: alta
Nome da API: c1.xlarge

Uma das várias máquinas está mostrando uma média de carga alta, já que executamos a última atualização do yum algumas semanas depois. Ainda não atualizamos as outras máquinas e tudo parece normal nelas.

O mais estranho é que o comando top não mostra nenhuma sugestão para a causa da carga. As CPUs são 4.8%us , 1.1%sy , 0.0%ni , 94.1%id , 0.0%wa , 0.0%hi , 0.0%si , 0.0%st (veja abaixo). Mem tem cerca de 1,5 GB grátis.

Alguma ideia do que poderia ser, ou onde mais podemos verificar? Muito obrigado pela ajuda.

#
# top
#
top - 07:57:42 up  4:18,  1 user,  load average: 1.36, 1.45, 1.47
Tasks: 131 total,   1 running, 130 sleeping,   0 stopped,   0 zombie
Cpu(s):  4.8%us,  1.1%sy,  0.0%ni, 94.1%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   7120092k total,  5644920k used,  1475172k free,   532888k buffers
Swap:        0k total,        0k used,        0k free,  3463936k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1557 mysql     20   0 1829m 374m 6448 S 14.3  5.4  11:15.09 mysqld
 6655 apache    20   0  416m  49m 3744 S  9.3  0.7   0:04.85 httpd
27683 apache    20   0  421m  54m 3708 S  9.0  0.8   0:00.99 httpd
 6682 apache    20   0  424m  57m 3788 S  8.3  0.8   0:03.81 httpd
16816 apache    20   0  419m  51m 3760 S  4.3  0.7   0:04.09 httpd
22182 apache    20   0  417m  50m 3756 S  1.7  0.7   0:06.34 httpd
  219 root      20   0     0    0    0 S  0.3  0.0   0:00.34 kworker/7:1
  699 root      20   0     0    0    0 S  0.3  0.0   0:00.40 kworker/3:1
    1 root      20   0 19376 1508 1212 S  0.0  0.0   0:00.29 init
    2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd

3 raiz 20 0 0 0 0 S 0.0 0.0 0: 00.71 ksoftirqd / 0

Comando "iostat" na máquina correta:

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           8.97    0.03    4.46    0.19    0.14   86.23

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
xvdap1            1.60         0.69        55.38     587620   47254184
xvdfp2            2.64         1.10        61.04     934786   52091056
xvdfp4            0.86         0.19        41.72     163866   35601920
xvdfp1            4.37        36.59        73.89   31220810   63051504
xvdfp3            8.03         7.08        94.63    6045402   80749184

Comando "iostat" na máquina problemática:

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           9.29    0.04    5.55    0.26    0.11   84.74

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
xvdap1            2.13         3.34        68.85     246244    5077888
xvdfp1            7.60        74.31       104.88    5480362    7734840
xvdfp3           13.22        73.67       125.00    5433386    9218600
xvdfp4            1.11         0.76        65.08      55762    4799248
xvdfp2            4.16         3.31        99.17     243818    7313264

Alguém sabe o que eu preciso fazer?

Obrigado

    
por Oz. 24.06.2012 / 16:12

2 respostas

3

Com 8 núcleos virtuais, uma média de carga de 1,4 não é alta nem nada com que se preocupar (você estará seguro até uma carga média de 8). Mas com base apenas nessa saída, não há informações suficientes para ajudá-lo ainda mais. E dado que a máquina só está funcionando há 4 horas - o MySQL provavelmente ainda está no processo de preparar todos os seus caches.

Provavelmente, a E / S e a Amazon não estão fornecendo as informações corretas para que iowait seja plotado com precisão (típico de um VPS).

  1. Execute iostat e publique os resultados.
  2. Inicie o gráfico com Munin e reporte-se com algumas estatísticas depois que a máquina estiver em execução por alguns dias.
por 24.06.2012 / 16:31
0

A média de carga alta pode ser causada por problemas de E / S.

Tente correr iostat -x 10 10

E observe os números aguardar e % util ao longo do tempo.

  • await - tempo médio que cada pedido de IO levou para ser concluído. Isso inclui o tempo que a solicitação estava aguardando na fila e o tempo que a solicitação levou para ser atendida pelo dispositivo

  • % util: esse número representa a porcentagem de tempo que o dispositivo gastou em solicitações de manutenção.

por 24.06.2012 / 16:53