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.
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 respaldados por SSD, los SSD de uso general (
gp2
ygp3
) y los SSD con IOPS aprovisionadas (io1
yio2
), ofrecen un rendimiento uniforme tanto si la operación de E/S es 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 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
Las IOPS son una unidad de medida que se representa de forma input/output operations per second. The operations are measured in KiB, and the underlying drive technology determines the maximum amount of data that a volume type counts as a single 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 los discos duros.
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 real del end-to-end cliente durante una operación de E/S, es decir, el tiempo transcurrido entre el envío de una E/S a EBS y la recepción de un acuse de recibo por parte de EBS de que se ha completado la lectura o escritura de la E/S. 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.
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 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.
Para operaciones de E/S 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 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.
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 de los volúmenes de EBS). Gb/s network connectivity) for optimal performance. Another possible cause for not experiencing the expected IOPS is that you are not driving enough I/O
Supervise las características de E/S mediante CloudWatch
Puede supervisar estas características de E/S con las métricas de volumen de cada CloudWatch volumen.
Supervise si hay E/S 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
(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 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. 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 la latencia de E/S 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 latencia de E/S 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. Utilice las siguientes fórmulas para calcular las IOPS y el rendimiento promedio impulsados por su volumen durante un período específico y, a continuación, compárelos con las IOPS aprovisionadas y el rendimiento del 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 aprovisionado del volumen, la métrica devuelve el valor. VolumeThroughputExceededCheck
1
Si las IOPS impulsadas y el rendimiento se encuentran dentro del rendimiento aprovisionado del volumen, las métricas se muestran. 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
oio1
aprovisionado con suficientes IOPS para lograr la latencia requerida -
Un volumen
gp2
mayor 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 medio de E/S del volumen, divida entre. VolumeWriteBytes
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.
Supervise el saldo explosivo de los gp2
cubos y st1
los volúmenes 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 CloudWatch Métricas de Amazon para Amazon EBS y Métricas de Amazon EBS para instancias basadas en Nitro.
Supervise las estadísticas de rendimiento de E/S en tiempo real
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 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 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 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 del número 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