EBS, EC2 VolumeReadBytes vs VolumeReadOps

EBS, EC2 VolumeReadBytes vs VolumeReadOps

Estou executando uma instância EC2 m4.xlarge com um volume Cold HDD EBS de 500 GB usado como cache para um serviço de redimensionamento de imagem que estou executando (thumbor atrás do proxy reverso nginx).

De vez em quando, o serviço de imagem parece estar sobrecarregado e não consigo descobrir onde está o gargalo. A carga da CPU e a memória parecem boas, não parece haver muito mais tráfego no momento. Uma coisa que parece estar correlacionada com o problema é que quase todos os dias, em um horário específico, há uma queda no VolumeReadBytes e um salto no VolumeReadOps por cerca de meia hora. Não tenho nenhum cron jobs em execução, o servidor é dedicado apenas a servir imagens redimensionadas. Eu não sei o que isso poderia ser. Esse poderia ser o problema?

Qualquer conselho seria muito apreciado.

Responder1

O EBS tem cotas de IOPS e taxa de transferência. Algo está maximizando o IOPS, a questão é o quê.

Existem algumas ferramentas que podem descobrir isso. iotop --time --batché um. iosnoop dos scripts perf-tools de Brendan Gregg é outro, se você quiser uma implementação do ftrace.

Poderia até configurar o auditd para registrar todas as chamadas de leitura do sistema. Mas o registro no arquivo overhad provavelmente usaria a maior parte da sua cota de IOPS...

Por mais determinado que seja, você precisará tomar a decisão de interromper essa tarefa, usar um armazenamento mais rápido ou tolerar um desempenho ruim durante esta meia hora.

informação relacionada