Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Características de E/S de Amazon EBS y monitoreo
En la configuración concreta de un volumen, algunas características de E/S controlan el rendimiento de los volúmenes de EBS.
-
Los volúmenes con respaldo de SSD, es decir, los SSD de uso general (
gp2ygp3) y los SSD de IOPS aprovisionadas (io1eio2), proporcionan un rendimiento uniforme, tanto si la operación de E/S es aleatoria como si es secuencial. -
Los volúmenes con respaldo de HDD, es decir, los HDD con rendimiento optimizado (
st1) y los HDD en frío (sc1), proporcionan un rendimiento óptimo solo cuando las operaciones de E/S son grandes y secuenciales.
Para comprender el modo en que los volúmenes SSD y HDD se comportarán en la aplicación, es importante conocer la relación entre la demanda que se hace al volumen, la cantidad de IOPS de que dispone el volumen, el tiempo que tarda una operación de E/S en completarse y los límites de rendimiento del volumen.
Temas
IOPS
IOPS es una unidad de medida que representa las operaciones de entrada y salida que se producen por segundo. Las operaciones se miden en KiB y la tecnología de disco subyacente determina la cantidad máxima de datos que un tipo de volumen considera como una operación única de E/S. El tamaño de la E/S se limita a 256 KiB para los volúmenes de SSD y a 1024 KiB para los volúmenes de HDD debido a que los volúmenes de SSD controlan las E/S pequeñas o aleatorias de una manera mucho más eficiente que los volúmenes de HDD.
Cuando las operaciones de E/S pequeñas son secuenciales físicamente, Amazon EBS intenta combinarlas en una única operación de E/S hasta el tamaño máximo. De igual modo, cuando las operaciones de E/S superan el tamaño máximo de E/S, Amazon EBS intenta dividirlas en operaciones de E/S más pequeñas. En la siguiente tabla, se muestran algunos ejemplos.
| Tipo de volumen | Tamaño máximo de las E/S | Operaciones de E/S de su aplicación | Cantidad de IOPS | Notas |
|---|---|---|---|---|
| SSD | 256 KiB | 1 operación de E/S de 1024 KiB | 4 (1024 ÷ 256 = 4) | Amazon EBS divide la operación de E/S de 1024 KiB en cuatro operaciones más pequeñas de 256 KiB. |
| 8 operaciones secuenciales de E/S de 32 KiB | 1 (8 x 32 = 256) | Amazon EBS fusiona las ocho operaciones secuenciales de E/S de 32 KiB en una única operación de 256 KiB. | ||
| 8 operaciones aleatorias de E/S de 32 KiB | 8 | Amazon EBS considera las operaciones aleatorias de E/S por separado. | ||
| HDD | 1024 KiB | 1 operación de E/S de 1024 KiB | 1 | La operación de E/S ya es igual al tamaño máximo de E/S. No se fusiona ni se divide. |
| 8 operaciones secuenciales de E/S de 128 KiB | 1 (8 x 128 = 1024) | Amazon EBS fusiona las ocho operaciones secuenciales de E/S de 128 KiB en una única operación de E/S de 1024 KiB. | ||
| 8 operaciones aleatorias de E/S de 32 KiB | 8 | Amazon EBS considera las operaciones aleatorias de E/S por separado. |
En consecuencia, cuando se crea un volumen respaldado por SSD que admite 3000 IOPS (bien aprovisionando un volumen io1 o io2 con 3000 IOPS, estableciendo el tamaño de un volumen gp2 en 1000 GiB o utilizando un volumen gp3) y se adjunta a una instancia optimizada para EBS que ofrece suficiente ancho de banda, es posible transferir hasta 3000 operaciones de E/S de datos por segundo, con un rendimiento que viene determinado por el tamaño de E/S.
Longitud de cola del volumen y latencia
La longitud de la cola del volumen es el número de solicitudes de E/S pendientes de un dispositivo. La latencia es el tiempo de cliente de extremo a extremo real de una operación de E/S, dicho de otro modo, el tiempo que trascurre entre el envío de una E/S a EBS y la recepción de un reconocimiento por parte de EBS de que la operación de lectura o escritura de E/S ha finalizado. La longitud de la cola debe calibrarse correctamente con el tamaño de E/S y la latencia para evitar crear cuellos de botella en el sistema operativo invitado o en el enlace de red con EBS.
La longitud de cola óptima varía con cada carga de trabajo, dependiendo de la sensibilidad específica de la aplicación a las operaciones de IOPS y la latencia. Si la carga de trabajo no proporciona suficientes solicitudes de E/S para hacer el uso completo del rendimiento disponible para el volumen de EBS, es posible que el volumen no proporcione la IOPS o el rendimiento que ha aprovisionado.
Las aplicaciones con alta intensidad de transacciones son sensibles al aumento de la latencia de E/S y resultan muy adecuadas para los volúmenes respaldados por SSD. Puede mantener una IOPS elevada y una latencia baja manteniendo la longitud de cola corta y un número elevado de IOPS disponible para el volumen. Dirigir constantemente a un volumen más operaciones de IOPS de las que tiene disponibles puede provocar un aumento de la latencia de E/S. Para lograr la máxima coherencia, un volumen debe mantener una profundidad de cola promedio (redondeada al número entero más próximo) de una por cada 1000 IOPS aprovisionadas en un minuto. Por ejemplo, para un volumen aprovisionado con 3000 IOPS, el promedio de profundidad de cola debe ser 3.
Las aplicaciones con un rendimiento de alta intensidad son menos sensibles al aumento de la latencia de E/S y resultan muy adecuadas para los volúmenes respaldados por HDD. Puede mantener un rendimiento alto a los volúmenes con respaldo en HDD conservando una longitud de cola elevada cuando se realizan operaciones de E/S grandes y secuenciales.
Límites de rendimiento de los volúmenes y tamaño de E/S
Para los volúmenes con respaldo en SSD, si el tamaño de E/S es muy grande, puede experimentar un número menor de IOPS que lo que ha aprovisionado porque alcanza el límite de rendimiento del volumen. Por ejemplo, un volumen gp2 de menos de 1000 GiB con créditos de ráfaga disponibles tiene un límite de 3000 IOPS y un límite de rendimiento del volumen de 250 MiB/s. Si utiliza un tamaño de E/S de 256 KiB, el volumen alcanza el límite de rendimiento en 1000 IOPS (1000 x 256 KiB = 250 MiB). Para tamaños de E/S más pequeños (como 16 KiB), este mismo volumen puede soportar 3000 IOPS porque el rendimiento se encuentra muy por debajo de 250 MiB/s. (En estos ejemplos, se supone que la E/S del volumen no alcanza los límites de rendimiento de la instancia.) Para obtener más información acerca de los límites de rendimiento de cada tipo de volumen de EBS, consulte Tipos de volúmenes de Amazon EBS.
Con operaciones de E/S más pequeñas, es posible que vea un valor de IOPS mayor que el aprovisionado medido desde el interior de la instancia. Esto sucede cuando el sistema operativo de la instancia combina pequeñas operaciones de E/S con una operación mayor antes de pasarlas a Amazon EBS.
Si la carga de trabajo utiliza E/S secuencial en volúmenes st1 y sc1 respaldados por HDD, es posible que experimente un número de IOPS mayor del esperado si lo mide desde el interior de la instancia. Esto sucede cuando el sistema operativo de la instancia combina E/S secuenciales y las cuenta como unidades de 1024 KiB de tamaño. Si la carga de trabajo usa E/S pequeñas o aleatorias, puede experimentar un rendimiento menor del esperado. Esto es debido a que cada E/S aleatoria, no secuencial se cuenta en el cómputo total de IOPS, lo que puede hacer que se alcance el límite de IOPS del volumen antes de lo esperado.
Con independencia del tipo de volumen de EBS, si no logra el rendimiento o IOPS que espera en la configuración, asegúrese de que no sea el ancho de banda de la instancia EC2 el factor causante. Conviene usar siempre una instancia optimizada para EBS de la generación actual (o una que incluya una conexión de red de 10 Gb-s) para lograr el rendimiento óptimo. Otra causa posible de no experimentar la IOPS esperada es que no dirija suficientes operaciones de E/S a los volúmenes de EBS.
Monitorear las características de E/S mediante CloudWatch
Puede monitorizar estas características de E/S con las métricas de volumen de CloudWatch de cada volumen.
Monitorear para E/S detenida
VolumeStalledIOCheck supervisa el estado de sus volúmenes de EBS para determinar cuándo están agotados. La métrica es un valor binario que devolverá un estado 0 (superado) o 1 (no superado) en función de si el volumen de EBS puede o no completar las operaciones de E/S.
Si la métrica VolumeStalledIOCheck no se supera, puede esperar a que AWS resuelva el problema o tomar medidas, como reemplazar los volúmenes afectados o detener y reiniciar la instancia a la que está asociado el volumen. En la mayoría de los casos, cuando se produce un error en esta métrica, EBS diagnosticará y recuperará automáticamente el volumen en cuestión de minutos. Puede utilizar la acción Pausar la E/S en AWS Fault Injection Service para ejecutar experimentos controlados a fin de probar su arquitectura y supervisión en función de esta métrica para mejorar su resistencia ante los errores de almacenamiento.
Monitorear la latencia de E/S de un volumen
Puede monitorear la latencia promedio de las operaciones de lectura y escritura de un volumen de Amazon EBS mediante las métricas VolumeAvgReadLatency y VolumeAvgWriteLatency, respectivamente. Puede utilizar la acción Pausar la E/S en AWS Fault Injection Service para ejecutar experimentos controlados a fin de probar su arquitectura y supervisión en función de esta métrica para mejorar su resistencia ante la degradación del rendimiento del almacenamiento.
Si la latencia de E/S es superior a la que requiere, asegúrese de que su aplicación no trata de dirigir más IOPS o rendimiento del que ha aprovisionado para el volumen. Puede utilizar las métricas VolumeAvgIOPS y VolumeAvgThroughput para monitorizar el promedio de IOPS y el rendimiento asociados a su volumen en un minuto y, a continuación, compararlos con el rendimiento y las IOPS aprovisionadas para el volumen. Si el volumen no genera ninguna operación durante un minuto, las métricas indicarán un valor de cero (0). Si se producen ráfagas de IOPS altas o de rendimiento durante un intervalo inferior a un minuto, el volumen experimenta una microráfaga. Sin embargo, las métricas promedio de IOPS y rendimiento pueden indicar que se está obteniendo un rendimiento inferior al de las IOPS aprovisionadas o a los límites de rendimiento del volumen. Para identificar si su volumen experimenta aumentos de rendimiento en un minuto determinado, puede utilizar las métricas VolumeIOPSExceededCheck y VolumeThroughputExceededCheck. Puede monitorear estas métricas para determinar si su carga de trabajo ha intentado impulsar de forma sistemática las IOPS o si el rendimiento es superior al rendimiento aprovisionado para el volumen en un minuto determinado. Si las IOPS impulsadas por un segundo en un minuto superan constantemente el rendimiento de las IOPS aprovisionadas para el volumen, la métrica VolumeIOPSExceededCheck devuelve 1. Si el rendimiento generado por un segundo en un minuto supera de forma constante el rendimiento aprovisionado para el volumen, la métrica VolumeThroughputExceededCheck devuelve 1. Si las IOPS impulsadas y el rendimiento están dentro del rendimiento aprovisionado del volumen, las métricas devuelven 0.
Si la aplicación necesita un número de IOPS mayor que el que puede proporcionar el volumen, debería plantearse el uso de uno de los siguientes:
-
Un volumen
gp3,io2oio1aprovisionado con suficientes IOPS para lograr la latencia requerida -
Un volumen
gp2mayor que proporcione suficiente rendimiento de IOPS de base de referencia
Los volúmenes st1 y sc1 respaldados por HDD están diseñados para dar mejor resultado con cargas de trabajo que aprovechan el tamaño máximo de 1024 KiB para E/S. Para determinar el tamaño de E/S medio del volumen, divida VolumeWriteBytes entre VolumeWriteOps. El mismo cálculo se aplica a las operaciones de lectura. Si el tamaño de E/S promedio es inferior a 64 KiB, aumentar el tamaño de las operaciones de E/S que se envían a un volumen st1 o sc1 debería servir para mejorar el rendimiento.
Monitorear el balance del bucket de ráfagas para los volúmenes gp2, st1 y sc1
BurstBalance muestra el balance del bucket de ráfagas para los volúmenes gp2, st1 y sc1 como un porcentaje del saldo total. Cuando el bucket por ráfaga se agota, el E/S del volumen (para los volúmenes gp2) o el rendimiento del volumen (para los volúmenes st1 y sc1) se reducen a la base de referencia. Compruebe el valor BurstBalance para determinar si el volumen se está reduciendo por esta razón. Para ver una lista completa de las métricas de Amazon EBS disponibles, consulte Métricas de Amazon CloudWatch para Amazon EBS y Métricas de Amazon EBS para instancias basadas en Nitro.
Monitorear las estadísticas de rendimiento de E/S en tiempo real
Puede acceder a estadísticas de rendimiento detalladas en tiempo real para los volúmenes de Amazon EBS conectados a las instancias de Amazon EC2 basadas en Nitro.
Puede combinar estas estadísticas para obtener la latencia promedio y las IOPS, o para comprobar si las operaciones de E/S se están completando. También puede ver el tiempo total durante el que su aplicación ha superado los límites de rendimiento o de IOPS aprovisionadas para su volumen de EBS o la instancia asociada. Al hacer un seguimiento de los aumentos de estas estadísticas a lo largo del tiempo, puede identificar si necesita aumentar las IOPS aprovisionadas o los límites de rendimiento para optimizar el rendimiento de la aplicación. Las estadísticas de rendimiento detalladas también incluyen histogramas de las operaciones de E/S de lectura y escritura, que proporcionan una distribución de la latencia de E/S al realizar un seguimiento de la cantidad total de operaciones de E/S completadas dentro de una banda de latencia.
Para obtener más información, consulte Estadísticas de rendimiento detalladas de Amazon EBS.
Recursos relacionados
Para obtener más información sobre las características de E/S de Amazon EBS, consulte la siguiente presentación de re:Invent Amazon EBS: Designing for Performance