Inyección de latencia - 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.

Inyección de latencia

Utilice la acción de inyección de latencia (aws:ebs:volume-io-latency) AWS FIS para simular una I/O latencia elevada en sus volúmenes de Amazon EBS y comprobar cómo responden sus aplicaciones a la degradación del rendimiento del almacenamiento. Esta acción le permite especificar el valor de latencia que se va a inyectar, así como el porcentaje I/O que se verá afectado en el volumen objetivo. Con AWS FISél, puede utilizar plantillas de experimentos de latencia preconfiguradas para empezar a probar los diferentes patrones de I/O latencia que se pueden observar durante los fallos de almacenamiento. Estas plantillas están diseñadas como un conjunto inicial de escenarios que puede utilizar para introducir interrupciones en sus aplicaciones y probar la resiliencia. No están diseñadas para abarcar todos los tipos de impacto que sus aplicaciones pueden sufrir en el mundo real. Le recomendamos que las adapte para ejecutar varias pruebas diferentes en función de las necesidades de rendimiento de sus aplicaciones. Puede personalizar las plantillas disponibles o crear nuevas plantillas de experimentos para probarlas según los requisitos específicos de su aplicación.

Plantillas de experimentos de latencia preconfiguradas

Amazon EBS proporciona las siguientes plantillas de experimentos de latencia a través de la consola de EBS y la biblioteca de AWS FIS escenarios. Puede utilizar estas plantillas directamente en los volúmenes de destino para ejecutar un experimento de inyección de latencia.

  • Latencia sostenida: simula una latencia constante. Este experimento utiliza una acción de inyección de latencia y tiene una duración total de 15 minutos. Este experimento simula una latencia persistente en el 50 por ciento de las E/S de lectura I/O y el 100 por ciento de las de escritura: 500 ms durante 15 minutos.

  • Aumento de la latencia: simula el aumento gradual de la latencia. Este experimento utiliza cinco acciones de inyección de latencia y tiene una duración total de 15 minutos. Este experimento simulará un aumento gradual de la latencia en el 10 por ciento de las E/S de lectura I/O y el 25 por ciento de las de escritura: 50 ms durante 3 minutos, 200 ms durante 3 minutos, 700 ms durante 3 minutos, 1 segundo durante 3 minutos y 15 segundos durante 3 minutos.

  • Latencia intermitente: simula picos bruscos de latencia intermitente con períodos de recuperación intermedios. Este experimento utiliza tres acciones de inyección de latencia y tiene una duración total de 15 minutos. Este experimento simulará tres picos de latencia en el 0,1 por ciento de las E/S de lectura y escritura: un pico de 30 segundos que dura 1 minuto, un pico de 10 segundos que dura 2 minutos y un pico de 20 segundos que dura 2 minutos. Habrá períodos de recuperación de 5 minutos entre cada pico de latencia.

  • Disminución de la latencia: simula la disminución gradual de la latencia. Este experimento utiliza cinco acciones de inyección de latencia y tiene una duración total de 15 minutos. Este experimento simulará una disminución gradual de la latencia en el 10 por ciento de las E/S de lectura I/O y escritura: 20 segundos durante 3 minutos, 5 segundos durante 3 minutos, 900 ms durante 3 minutos, 300 ms durante 3 minutos y 40 ms durante 3 minutos.

Personalice los escenarios preconfigurados

Puede personalizar las plantillas preconfiguradas anteriores o crear sus propias plantillas de experimentos nuevas con los siguientes parámetros personalizables.

  • readIOPercentage— Porcentaje de I/O operaciones de lectura en las que se inyectará latencia. Es el porcentaje de todas las I/O operaciones de lectura del volumen que se verán afectadas por la acción.

    Rango: mínimo 0,1%, máximo 100%

  • readIOLatencyMilliseconds— Cantidad de latencia inyectada en I/O las operaciones de lectura. Este es el valor de latencia que se observará en el porcentaje especificado de la lectura I/O durante el experimento.

    Rango: mínimo 1 ms (io2)/10 ms (no io2), máximo 60 segundos

  • writeIOPercentage— Porcentaje de I/O operaciones de escritura en las que se inyectará latencia. Es el porcentaje de todas las I/O operaciones de escritura del volumen que se verán afectadas por la acción.

    Rango: mínimo 0,1%, máximo 100%

  • writeIOLatencyMilliseconds— Cantidad de latencia inyectada en I/O las operaciones de escritura. Este es el valor de latencia que se observará en el porcentaje especificado de escritura I/O durante el experimento.

    Rango: mínimo 1 ms (io2) /10 ms (sin io2), máximo 60 segundos

  • duration— Duración durante la cual se inyectará la latencia en el porcentaje seleccionado. I/O

    Rango: mínimo 1 segundo, máximo 12 horas

Monitorización de la latencia de inyección

Puede supervisar el impacto en el rendimiento de sus volúmenes de las siguientes maneras:

  • Utilice las métricas de latencia media CloudWatch para obtener la I/O latencia media por minuto. Para obtener más información, consulte Supervise sus volúmenes de EBS mediante. CloudWatch

  • Utilice las estadísticas de rendimiento detalladas de EBS disponibles a través de NVMe -CLI, CloudWatch agent y Prometheus para obtener una latencia media por segundo. I/O Las métricas detalladas también proporcionan histogramas de I/O latencia que puede utilizar para analizar la variación de latencia en sus volúmenes. Para obtener más información, consulte las estadísticas de rendimiento NVMe detalladas.

  • Utilice la Comprobaciones de estado del volumen de EBS. Al inyectar I/O latencia, el estado del volumen pasa a ese warning estado.

Consideraciones

Tenga en cuenta lo siguiente cuando utilice la inyección de latencia de EBS:

  • La inyección de latencia se admite en todos los tipos de instancias basadas en Nitro, excepto: P4d, P5, P5e, Trn2u, G6, G6f, Gr6, Gr6f, M8i, M8i-flex, C8i-flex, R8i, R8i-flex, i8GE, MAC-M4Pro y MAC-M4.

  • Es posible que veas una variación de hasta un 5 por ciento en el valor de latencia especificado en el experimento y en la latencia resultante observada.

  • Si realizas un número muy reducido de I/O operaciones, es posible que el porcentaje I/O especificado en los parámetros de la acción no coincida con el porcentaje real de personas I/O afectadas por la acción.

Para ejecutar un experimento de inyección de latencia en un volumen de Amazon EBS
  1. Abre la EC2 consola de Amazon en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación, elija Volumes (Volúmenes).

  3. Seleccione los volúmenes en los que desee ejecutar el experimento y elija Acciones, Pruebas de resiliencia e Inyectar I/O latencia de volumen.

    Se abre la AWS Fault Injection Service consola.

  4. En la ventana Crear experimento, seleccione el tipo de experimento que desee ejecutar: intermitente, creciente, sostenido o decreciente.

  5. Para seleccionar el rol de IAM, elija Crear un nuevo rol para crear un nuevo rol que AWS FIS se utilizará para realizar los experimentos en su nombre. También puede elegir Usar un rol de IAM existente si ya creó un rol de IAM con los permisos necesarios.

  6. La sección Estimación de precios ofrece una estimación del coste de ejecutar el experimento. En este caso AWS FIS, se te cobrará por cada minuto que se ejecute una acción, de principio a fin, en función del número de cuentas objetivo del experimento.

  7. Elija Start experiment (Iniciar experimento).