¿Cómo puedo saber si se producen microrráfagas en mi volumen de Amazon EBS y evitar que esto ocurra?

6 minutos de lectura
0

Tengo un volumen de Amazon Elastic Block Store (Amazon EBS) que no supera ni su límite de rendimiento ni de IOPS en Amazon CloudWatch. Sin embargo, el volumen parece estar limitado y presenta una latencia y una longitud de cola elevadas.

Breve descripción

CloudWatch recopila muestras cada minuto para monitorear las IOPS (op/s) y el rendimiento (byte/s) de todos los tipos de volúmenes de Amazon EBS.

Una microrráfaga se produce cuando un volumen de EBS genera un valor elevado de IOPS o rendimiento durante períodos significativamente más cortos que el período de recopilación. Dado que el volumen alcanza un valor elevado de ráfagas de IOPS o rendimiento durante un período más corto que el período de recopilación, CloudWatch no refleja las ráfagas.

Ejemplo: Un volumen de IO1 (período de recopilación de un minuto) con 950 IOPS aprovisionadas tiene una aplicación que envía 1000 IOPS durante cinco segundos. Amazon EBS limita la velocidad de la aplicación cuando alcanza el límite de IOPS del volumen. Llegados a este punto, el volumen no puede gestionar la carga de trabajo, lo que provoca un aumento de la cola y de la latencia.

CloudWatch no indica que el volumen haya superado el límite de IOPS porque el período de recopilación es de 60 segundos. Las 1000 IOPS se produjeron en tan solo 5 segundos. Durante los 55 segundos restantes del período de recopilación (un minuto), el volumen permaneció inactivo. Esto significa que el número de VolumeReadOps+VolumeWriteOps durante todo el minuto fue de 5000 operaciones (1000*5 segundos), lo que equivale a un promedio de 83,33 IOPS en un minuto (5000/60 segundos). Este promedio no suele ser motivo de preocupación.
En este caso, el valor de VolumeIdleTime es 55 segundos durante el mismo tiempo de muestreo, porque el volumen permanece inactivo durante el resto del período de recopilación. Esto significa que las 5000 operaciones (VolumeReadOps+VolumeWriteOps) de ese tiempo de muestreo se realizaron en tan solo 5 segundos. Si divide 5000 entre 5 para calcular el promedio de IOPS, obtendrá 1000 IOPS. 1000 IOPS es el límite del volumen.

Para determinar si se está produciendo una microrráfaga en el volumen, siga estos pasos:

  1. Utilice las métricas de CloudWatch para identificar posibles microrráfagas.
  2. Utilice CloudWatch para obtener el evento que ha dado lugar a la microrráfaga.
  3. Confirme la microrráfaga con una herramienta del nivel del sistema operativo.
  4. Para evitar las microrráfagas, cambie el tamaño o el tipo de volumen para adaptarlo a sus aplicaciones.

Solución

Usar las métricas de CloudWatch para identificar posibles microrráfagas

  1. Compruebe la métrica VolumeIdleTime. Esta métrica indica el número total de segundos en los que no se envía ninguna operación de lectura ni escritura dentro de un período de tiempo especificado. Si el valor de VolumeIdleTime es alto, quiere decir que el volumen permaneció inactivo durante la mayor parte del período de recopilación. Una IOPS o un rendimiento suficientemente altos en el mismo tiempo de muestreo indican que es posible que se haya producido una microrráfaga.
    Además de la métrica VolumeIdleTime del rendimiento, existen las métricas VolumeReadBytes y VolumeWriteBytes.
  2. Utilice la siguiente fórmula para calcular el rendimiento promedio que se alcanza cuando el volumen está activo:
    Rendimiento promedio real en Bytes/s = (Sum(VolumeReadBytes) + Sum(VolumeWriteBytes) ) / (Period - Sum(VolumeIdleTime) )
    Además de la métrica VolumeIdleTime de las IOPS, existen las métricas VolumeReadOps y VolumeWriteOps.
  3. Utilice la siguiente fórmula para calcular el promedio de IOPS que se alcanza cuando el volumen está activo:
    Promedio real de IOPS en Ops/s = (Sum(VolumeReadOps) + Sum(VolumeWriteOps) ) / ( Period - Sum(VolumeIdleTime) )

Usar CloudWatch para obtener el evento que ha dado lugar a la microrráfaga

  1. Abra la consola de CloudWatch.
  2. Seleccione Todas las métricas.
  3. Utilice el ID del volumen para buscar el volumen afectado.
  4. Para ver las métricas de rendimiento, elija Examinar, y a continuación, añada VolumeReadBytes, VolumeWriteBytes y VolumeIdleTime.
  5. Seleccione Métricas diagramadas.
  6. En Estadísticas, elija Suma y, en Periodo, elija 1 minuto.
  7. En Agregar matemática, elija Comenzar con una expresión vacía.
  8. En los Detalles de la Expresión, introduzca los ID de los gráficos para la fórmula de rendimiento promedio estimado en Bytes/s. Por ejemplo, (m1+m2)/(60-m3).

Si la fórmula calcula un valor superior al rendimiento máximo del volumen, significa que se han producido microrráfagas. Para comprobar las métricas de IOPS, siga los pasos anteriores y añada VolumeReadOps, VolumeWriteOps y VolumeIdleTime en el paso 4.

Confirmar la microrráfaga con una herramienta del nivel del sistema operativo

Las fórmulas anteriores no siempre identifican las microrráfagas en tiempo real. Esto se debe a que se pueden producir microrráfagas en el volumen aunque el VolumeIdleTime sea bajo.

Ejemplo: El volumen alcanza un pico que supera sus propios límites. A continuación, baja a un nivel de actividad muy bajo durante el resto del período de recopilación, sin llegar a permanecer completamente inactivo. La métrica VolumeIdleTime no refleja la poca actividad, aunque se haya producido una microrráfaga.

Para confirmar la microrráfaga, utilice una herramienta del nivel del sistema operativo con una granularidad más fina que CloudWatch.

Linux

Utilice el comando iostat. Para obtener más información, consulte iostat(1) en el sitio web Linux man page.

1.    Para generar informes de estadísticas de E/S de todos los volúmenes montados con una granularidad de un segundo, ejecute el siguiente comando:

iostat -xdmzt 1

Nota: La herramienta iostat forma parte del paquete sysstat. Si no encuentra el comando iostat, ejecute el siguiente comando para instalar sysstat en las AMI de Amazon Linux:

$ sudo yum install sysstat -y

2.    Para determinar si está alcanzando el límite de rendimiento, revise los valores de rMB/s y wMB/s en el resultado. Si la suma de rMB/s + wMB/s es superior al rendimiento máximo del volumen, se está produciendo una microrráfaga.

Para saber si está alcanzando el límite de IOPS, revise los valores de r/s y w/s en el resultado. Si la suma de r/s + w/s supera el número máximo de IOPS del volumen, se está produciendo una microrráfaga.

Windows

Ejecute el comando perfmon en el Monitor de rendimiento de Windows. Para obtener más información, consulte Determine your IOPS and throughput requirements.

Cambiar el tamaño o el tipo de volumen para adaptarlo a sus aplicaciones y así evitar las microrráfagas

Cambie el volumen a un tipo y tamaño que se adapten a las IOPS y al rendimiento requeridos. Para obtener más información sobre los tipos de volumen y sus respectivos límites de IOPS y rendimiento, consulte Tipos de volúmenes de Amazon EBS. Existen límites en cuanto a las IOPS y el rendimiento que la instancia puede enviar a todos los volúmenes de EBS asociados.

Se recomienda comparar los volúmenes con la carga de trabajo para saber qué tipos de volúmenes pueden adaptarse a su carga de trabajo de forma segura en un entorno de prueba. Para obtener más información, consulte Análisis comparativo de volúmenes de EBS.

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año