I/O Características y supervisión de Amazon EBS - Amazon EBS

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.

I/O Características y supervisión de Amazon EBS

En una configuración de volumen determinada, determinadas I/O características determinan el comportamiento del rendimiento de los volúmenes de EBS.

  • Los volúmenes respaldados por SSD, los SSD de uso general (gp2ygp3) y los SSD de IOPS aprovisionadas (io1yio2), ofrecen un rendimiento uniforme tanto si se trata de una I/O operación aleatoria como secuencial.

  • Los volúmenes respaldados por discos duros, los discos duros con rendimiento optimizado (st1) y los discos duros fríos (sc1), ofrecen un rendimiento óptimo solo cuando las operaciones son de gran envergadura y secuenciales. I/O

Para comprender el rendimiento de los volúmenes SSD y HDD en su aplicación, es importante conocer la relación entre la demanda del volumen, la cantidad de IOPS disponibles, el tiempo que tarda una I/O operación en completarse y los límites de rendimiento del volumen.

IOPS

Las IOPS son una unidad de medida que representa input/output las operaciones 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 cuenta como único de forma I/O. I/O size is capped at 256 KiB for SSD volumes and 1,024 KiB for HDD volumes because SSD volumes handle small or random I/O mucho más eficiente que los volúmenes de un disco duro.

Cuando I/O las operaciones pequeñas son secuenciales desde el punto de vista físico, Amazon EBS intenta combinarlas en una sola I/O operación hasta alcanzar el tamaño máximo I/O . Del mismo modo, cuando I/O las operaciones superan el I/O tamaño máximo, Amazon EBS intenta dividirlas en I/O operaciones más pequeñas. En la siguiente tabla, se muestran algunos ejemplos.

Tipo de volumen Tamaño máximo I/O Operaciones de E/S de su aplicación Cantidad de IOPS Notas
SSD 256 KiB 1 x I/O operación de 1024 KiB 4 (1024 ÷ 256 = 4) Amazon EBS divide la operación de 1024 I/O KiB en cuatro operaciones más pequeñas de 256 KiB.
8 operaciones secuenciales de 32 KiB I/O 1 (8 x 32 = 256) Amazon EBS fusiona las ocho I/O operaciones secuenciales de 32 KiB en una sola operación de 256 KiB.
8 I/O operaciones aleatorias de 32 KiB 8 Amazon EBS cuenta las I/O operaciones aleatorias por separado.
HDD 1024 KiB 1 x I/O operación de 1024 KiB 1 La I/O operación ya es igual al I/O tamaño máximo. No se fusiona ni se divide.
8 operaciones secuenciales de 128 KiB I/O 1 (8 x 128 = 1024) Amazon EBS fusiona las ocho I/O operaciones secuenciales de 128 KiB en una sola operación de 1024 KiB. I/O
8 I/O operaciones aleatorias de 32 KiB 8 Amazon EBS cuenta las I/O operaciones aleatorias por separado.

Por lo tanto, cuando crea un volumen respaldado por SSD que admite 3000 IOPS (ya sea aprovisionando un io2 volumen io1 o volumen con 3000 IOPS, ajustando un volumen gp2 a 1000 GiB o utilizando un gp3 volumen) y lo adjunta a una instancia optimizada para EBS que pueda proporcionar suficiente ancho I/Os de banda, puede transferir hasta 3000 datos por segundo, con un rendimiento determinado por tamaño. I/O

Longitud de cola del volumen y latencia

La longitud de la cola de volúmenes es el número de solicitudes pendientes de un dispositivo. I/O La latencia es el tiempo real que tarda una I/O operación en el end-to-end cliente, es decir, el tiempo transcurrido entre el envío de una I/O a EBS y la recepción de un acuse de recibo por parte de EBS de que se ha completado la I/O lectura o escritura. La longitud de la cola debe calibrarse correctamente con el I/O tamaño y la latencia para evitar que se produzcan atascos en el sistema operativo huésped o en el enlace de red a 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 su carga de trabajo no entrega suficientes I/O solicitudes para aprovechar al máximo el rendimiento disponible para su volumen de EBS, es posible que su volumen no entregue las IOPS o el rendimiento que ha aprovisionado.

Las aplicaciones con un uso intensivo de transacciones son sensibles al aumento de la I/O latencia y son ideales para 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. Conducir constantemente más IOPS a un volumen de lo que hay disponible puede provocar un aumento de la latencia. I/O

Las aplicaciones con un rendimiento intensivo son menos sensibles al aumento de la I/O latencia y son ideales para volúmenes respaldados por discos duros. 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

En el caso de los volúmenes respaldados por SSD, si su I/O tamaño es muy grande, es posible que el número de IOPS sea inferior al aprovisionado porque está alcanzando el límite de rendimiento del volumen. Por ejemplo, un gp2 volumen inferior a 1000 GiB con créditos de ráfaga disponibles tiene un límite de 3 000 IOPS y un límite de rendimiento de volumen de 250 no MiB/s. If you are using a 256 KiB I/O size, your volume reaches its throughput limit at 1000 IOPS (1000 x 256 KiB = 250 MiB). For smaller I/O sizes (such as 16 KiB), this same volume can sustain 3,000 IOPS because the throughput is well below 250 MiB/s. (These examples assume that your volume's I/O 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.

En el caso de I/O operaciones más pequeñas, es posible que veas un valor de higher-than-provisioned IOPS 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 tu carga de trabajo se utiliza de forma secuencial I/Os en sc1 volúmenes st1 y respaldados por discos duros, es posible que experimentes un número de IOPS superior al esperado, si se mide desde dentro de la instancia. Esto ocurre cuando el sistema operativo de la instancia se fusiona de forma secuencial I/Os y las cuenta en unidades del tamaño de 1024 KiB. Si su carga de trabajo es pequeña o aleatoria en el I/Os, you may experience a lower throughput than you expect. This is because we count each random, non-sequential I/O recuento total de IOPS, esto puede provocar que alcance el límite de IOPS del volumen antes de lo esperado.

Sea cual sea el tipo de volumen de EBS, si no obtiene las IOPS o el rendimiento esperados en su configuración, asegúrese de que el ancho de banda de la EC2 instancia no sea el factor limitante. Siempre debe utilizar una instancia optimizada para EBS de la generación actual (o una que incluya 10 Gb/s conexiones de red) para obtener un rendimiento óptimo. Otra posible causa de que no se produzcan las IOPS esperadas es que no esté accediendo lo suficiente I/O a los volúmenes de EBS.

I/O Supervise las características mediante CloudWatch

Puede supervisar estas I/O características con las métricas de volumen de cada CloudWatch volumen.

Supervise si las E/S están estancadas

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 (aprobado) o 1 (fallido) en función de si el volumen de EBS puede completar las operaciones o no. I/O

Si la VolumeStalledIOCheck métrica falla, puede esperar AWS a que se resuelva el problema o tomar medidas, como reemplazar el volumen afectado o detener y reiniciar la instancia a la que está adjunto 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 para realizar experimentos controlados AWS Fault Injection Service a fin de probar la arquitectura y la supervisión en función de esta métrica para mejorar la resiliencia ante los fallos de almacenamiento.

Supervise I/O la latencia de un volumen

Puede supervisar la latencia media de las operaciones de lectura y escritura de un volumen de Amazon EBS mediante las VolumeAvgWriteLatency métricas VolumeAvgReadLatency y, respectivamente.

Si la I/O latencia es superior a la requerida, asegúrese de que la aplicación no intente generar más IOPS o un rendimiento superior al que ha aprovisionado para su volumen. Usa las siguientes fórmulas para calcular el promedio de IOPS y el rendimiento generados por tu volumen durante un período específico y, a continuación, compáralos con el rendimiento y las IOPS aprovisionadas para el volumen.

Sum(VolumeReadOps) + Sum(VolumeWriteOps) Estimated average IOPS in ops/s = ---------------------------------------- Period - Sum(VolumeIdleTime)
(Sum(VolumeReadBytes) + Sum(VolumeWriteBytes)) / 1024 Estimated average throughput in KiB/s = ----------------------------------------------------- Period - Sum(VolumeIdleTime)

También puede supervisar las VolumeThroughputExceededCheck métricas VolumeIOPSExceededCheck y determinar si su carga de trabajo ha intentado de forma sistemática impulsar las IOPS o un rendimiento superior al rendimiento aprovisionado para el volumen en un minuto determinado. Si las IOPS impulsadas superan constantemente el rendimiento de las IOPS aprovisionadas para el volumen, la métrica retorna. VolumeIOPSExceededCheck 1 Si el rendimiento impulsado supera constantemente el rendimiento del rendimiento aprovisionado del volumen, la métrica devuelve el valor. VolumeThroughputExceededCheck 1 Si las IOPS impulsadas y el rendimiento se encuentran dentro del rendimiento aprovisionado de su volumen, las métricas se devolverán. 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, io2 o io1 aprovisionado con suficientes IOPS para lograr la latencia requerida

  • Un volumen gp2 mayor que proporcione suficiente rendimiento de IOPS de base de referencia

Los sc1 volúmenes st1 y respaldados por disco duro están diseñados para funcionar mejor con cargas de trabajo que aprovechan el tamaño máximo de 1024 KiB. I/O Para determinar el I/O tamaño medio del volumen, divida entre. VolumeWriteBytes VolumeWriteOps El mismo cálculo se aplica a las operaciones de lectura. Si el I/O tamaño medio es inferior a 64 KiB, aumentar el tamaño de las I/O operaciones enviadas a un sc1 volumen st1 o debería mejorar el rendimiento.

Supervise el saldo explosivo de gp2 los st1 cubos y sc1 los volúmenes

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 depósito de ráfagas se agota, el volumen I/O (en el caso de los gp2 volúmenes) o el rendimiento del volumen (en el caso de sc1 los volúmenes st1 y volúmenes) se reducen al nivel 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 CloudWatch Métricas de Amazon para Amazon EBS y Métricas de Amazon EBS para instancias basadas en Nitro.

Supervisa las estadísticas de rendimiento en tiempo real I/O

Puede acceder a estadísticas de rendimiento detalladas en tiempo real de los volúmenes de Amazon EBS adjuntos a las instancias de Amazon EC2 basadas en Nitro.

Puede combinar estas estadísticas para obtener la latencia media y las IOPS, o para comprobar si I/O las operaciones 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 aprovisionados para su volumen de EBS o la instancia adjunta. 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 para I/O las operaciones de lectura y escritura, que proporcionan una distribución de la I/O latencia al realizar un seguimiento del número total de I/O operaciones 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 I/O las características de Amazon EBS, consulte la siguiente presentación de re:Invent: Amazon EBS: Designing for Performance.