Editado depois de informações adicionais reunidas usando iostat e iotop
Seu disco está 100% carregado enquanto está ficando sem IOPS disponível: de acordo com o iostat, você tem uma constante de 50+ IOPS (85 w / s - 35 mesclados w / s). As instâncias do EC2, especialmente as mais baratas, têm um strong limite na IOPS sustentada (na faixa de 30 a 50 IOPS).
De acordo com a nova saída iotop, tanto o mysql quanto o bounce estão consumindo uma quantidade significativa de IOPS. No entanto, a saída do iotop parece incompleta ou mal ordenada, pelo menos. Você pode executar novamente o "iotop -a" classificando uma vez por IOPS e outra por gravação em disco?
Resposta original
Minha aposta: o processo de "rejeição" está emitindo muitas gravações sincronizadas que sufocam o dispositivo de disco virtual oferecido pela Amazon (a propósito, que perfil você está usando? Discos EC2 têm regras bastante rígidas para E / S sustentada versus estouro).
De qualquer forma, identificar o que está queimando a largura de banda de E / S pode ser um pouco difícil às vezes. Embora o iotop seja uma ferramenta muito boa, em algum momento ele não fornece as informações necessárias. Nós precisamos ir mais fundo. Então, siga estes conselhos:
-
Primeiro, precisamos identificar o tipo de E / S sendo processado e o dispositivo de bloqueio afetado.
Por favor, execute o seguinte comando: iostat -x -k 5 2
. Por favor, reporte os dois conjuntos de resultados.
-
Em seguida, precisamos identificar os processos que esperam por E / S .
Quando pode usar "top" para isso: inicie-o, pressione shift + f (F), depois w, depois entre, e depois mude + r (R). Os primeiros processos serão os do estado D ou D + (ex .: aguardando disco / rede). Por favor, informe a lista.
-
Use o iotop para mostrar os valores de E / S acumulados para processos .
Execute iotop -a
por aproximadamente um minuto e cole aqui a saída.