EBS, EC2 VolumeReadBytes frente a VolumeReadOps

EBS, EC2 VolumeReadBytes frente a VolumeReadOps

Estoy ejecutando una instancia EC2 m4.xlarge con un volumen EBS Cold HDD de 500 GB utilizado como caché para un servicio de cambio de tamaño de imágenes que estoy ejecutando (pulgar detrás del proxy inverso nginx).

De vez en cuando el servicio de imágenes parece estar sobrecargado y no puedo entender dónde está el cuello de botella. La carga de la CPU y la memoria parecen estar bien, no parece haber mucho más tráfico en ese momento. Una cosa que parece correlacionarse con el problema es que casi todos los días a una hora específica hay una caída en VolumeReadBytes y un salto en VolumeReadOps durante aproximadamente media hora. No tengo ningún trabajo cron en ejecución, el servidor está dedicado solo a servir imágenes redimensionadas. No sé qué podría ser esto. ¿Podría ser este el problema?

Cualquier consejo sería muy apreciado.

Respuesta1

EBS tiene cuotas de IOPS y rendimiento. Algo está maximizando las IOPS, la pregunta es qué.

Hay un par de herramientas que pueden descubrir esto. iotop --time --batches uno. iosnoop de los scripts perf-tools de Brendan Gregg es otro, si desea una implementación ftrace.

Incluso podría configurar auditd para registrar todas las llamadas al sistema de lectura. Pero el registro en el archivo sobrecargado probablemente usaría la mayor parte de su cuota de IOPS...

Independientemente de lo decidido que esté, deberá tomar la decisión de detener esa tarea, utilizar un almacenamiento más rápido o tolerar un rendimiento deficiente durante esta media hora.

información relacionada