View a markdown version of this page

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 de rendimiento de los volúmenes de EBS.

  • SSD-backed los volúmenes, las SSD de uso general (gp2ygp3) y las SSD de IOPS aprovisionadas (io1yio2), ofrecen un rendimiento uniforme tanto si la I/O operación es aleatoria como secuencial.

  • HDD-backed los volúmenes, el disco duro con rendimiento optimizado (st1) y el disco duro frío (sc1) ofrecen un rendimiento óptimo solo cuando I/O las operaciones son grandes y secuenciales.

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 I/O. I/O el tamaño está limitado a 256 KB para los volúmenes SSD y a 1024 KB para los volúmenes HDD, ya que los volúmenes SSD gestionan volúmenes pequeños o aleatorios de forma I/O mucho más eficiente que los volúmenes HDD.

Cuando I/O las operaciones pequeñas son físicamente secuenciales, Amazon EBS intenta fusionarlas 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 operaciones más pequeñas. I/O En la siguiente tabla, se muestran algunos ejemplos.

Tipo de volumen Tamaño máximo I/O I/O operaciones desde su aplicación Cantidad de IOPS Notas
SSD 256 KiB 1 I/O operación de 1024 KiB 4 (1024 ÷ 256 = 4) Amazon EBS divide la operación de 1024 KiB en cuatro I/O operaciones más pequeñas de 256 KiB.
8 operaciones secuenciales de 32 KiB I/O 1 (8 x 32 = 256) Amazon EBS combina las ocho operaciones secuenciales de 32 KiB en una sola I/O operación de 256 KiB.
8 operaciones aleatorias de 32 KiB I/O 8 Amazon EBS cuenta las I/O operaciones aleatorias por separado.
HDD 1024 KiB 1 operación de 1024 KiB I/O 1 La I/O operación ya tiene el 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 combina las ocho operaciones secuenciales de 128 KiB en una sola I/O operación de 1024 KiB. I/O
8 operaciones aleatorias de 32 KiB I/O 8 Amazon EBS cuenta las I/O operaciones aleatorias por separado.

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

Longitud de cola del volumen y latencia

La longitud de la cola de volumen es el número de solicitudes pendientes de un dispositivo. I/O La latencia es el tiempo real de cliente de principio a fin de una I/O operación, es decir, el tiempo que transcurre entre el envío de un mensaje I/O a EBS y la recepción de un acuse de recibo de EBS indicando que se ha completado la lectura o la I/O escritura. La longitud de la cola debe calibrarse correctamente con el I/O tamaño y la latencia para evitar crear cuellos de botella 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 en su volumen de EBS, es posible que su volumen no entregue las IOPS o el rendimiento que ha aprovisionado.

Transaction-intensive las aplicaciones son sensibles al aumento de la I/O latencia y son adecuadas para los volúmenes. SSD-backed 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. El aumento constante de IOPS en un volumen de las disponibles puede provocar un aumento I/O de la latencia. 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.

Throughput-intensive las aplicaciones son menos sensibles al aumento de I/O la latencia y son adecuadas para HDD-backed los volúmenes. Puede mantener un alto rendimiento de los HDD-backed volúmenes manteniendo una longitud de cola alta cuando realiza grandes volúmenes de forma secuencial. I/O

I/O límites de rendimiento de tamaño y volumen

En el caso de SSD-backed los volúmenes, si su I/O tamaño es muy grande, es posible que experimente un número de IOPS 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 IOPS de 3000 y un límite de rendimiento de volumen de 250. MiB/s Si utiliza un I/O tamaño de 256 KiB, el volumen alcanza su límite de rendimiento de 1000 IOPS (1000 x 256 KiB = 250 MiB). Para I/O tamaños más pequeños (como 16 KiB), este mismo volumen puede soportar 3000 IOPS porque el rendimiento está muy por debajo de 250. MiB/s (En estos ejemplos se presupone que el I/O 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.

En el caso de I/O operaciones más pequeñas, es posible que veas un valor de IOPS superior al aprovisionado, si se mide desde dentro de la instancia. Esto ocurre cuando el sistema operativo de la instancia fusiona I/O operaciones pequeñas en una operación más grande antes de pasarlas a Amazon EBS.

Si su carga de trabajo utiliza sc1 volúmenes HDD-backed st1 y volúmenes secuenciales I/Os , es posible que experimente 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 1024 unidades. KiB-sized Si su carga de trabajo es pequeña o aleatoria I/Os, es posible que experimente un rendimiento inferior al esperado. Esto se debe a que cada una de las IOPS aleatorias y no secuenciales I/O cuenta para el recuento total de IOPS, lo que puede hacer que alcances el límite de IOPS del volumen antes de lo esperado.

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

I/O Supervise las características mediante CloudWatch

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

Supervise si están estancados I/O

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 I/O las operaciones o no.

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á conectado 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. Puedes usar la I/O acción de pausa AWS Fault Injection Service para ejecutar experimentos controlados con el fin de probar tu arquitectura y monitorizar en función de esta métrica, a fin de mejorar tu resiliencia ante los fallos de almacenamiento.

Supervise I/O la latencia de un volumen

Puede supervisar la latencia promedio de las operaciones de lectura y escritura de un volumen de Amazon EBS mediante las métricas VolumeAvgReadLatency y VolumeAvgWriteLatency, respectivamente. Puedes usar la acción de inyección de latencia AWS Fault Injection Service para realizar experimentos controlados con el fin de probar tu arquitectura y monitorizar en función de esta métrica, a fin de mejorar tu resiliencia ante la degradación del rendimiento del almacenamiento.

Si la I/O latencia es mayor de lo que necesita, asegúrese de que la aplicación no esté intentando generar más IOPS o rendimiento del que ha aprovisionado para su volumen. Puede utilizar las métricas VolumeAvgIOPS y VolumeAvgThroughput para supervisar 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 supervisar 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, 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

HDD-backed st1y sc1 los volúmenes están diseñados para funcionar mejor con cargas de trabajo que aprovechan el tamaño máximo de 1.024 KB. I/O Para determinar el I/O tamaño promedio del volumen, divídalo VolumeWriteBytes por. VolumeWriteOps El mismo cálculo se aplica a las operaciones de lectura. Si el I/O tamaño medio es inferior a 64 KB, aumentar el tamaño de las I/O operaciones enviadas a un sc1 volumen st1 o debería mejorar el rendimiento.

Supervise el equilibrio de intervalos 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 su depósito de ráfagas se agota, el volumen I/O (para gp2 los volúmenes) o el rendimiento del volumen (para st1 y los sc1 volúmenes) se reduce a la línea de base. Compruebe el valor BurstBalance para determinar si el volumen se está reduciendo por esta razón. Para obtener una lista completa de las métricas de Amazon EBS disponibles, consulte CloudWatch Métricas de Amazon para Amazon EBS las métricas de Amazon EBS para instancias. Nitro-based

Controle 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 que se adjuntan a las instancias de Nitro-based Amazon EC2.

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 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 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.