View a markdown version of this page

Ejecute un escenario de prueba - Pruebas de carga distribuidas en AWS

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.

Ejecute un escenario de prueba

Tras crear un escenario de prueba, puede ejecutarlo inmediatamente o programarlo para que se ejecute en un momento específico en el futuro. Cuando accedes a una prueba en ejecución, la consola muestra la pestaña Detalles del escenario con el estado y las métricas de las tareas en tiempo real.

Vista de detalles del escenario

La pestaña Detalles del escenario muestra información clave sobre la prueba. La tabla de estado de las tareas muestra información en tiempo real de cada región.

Tabla de estado de las tareas

La tabla de estado de las tareas muestra información en tiempo real para cada región:

  • Región: la región de AWS en la que se ejecutan las tareas

  • Recuento de tareas: el número total de tareas configuradas para la región

  • Simultaneidad: la cantidad de usuarios virtuales por tarea

  • En ejecución: número de tareas que actualmente están ejecutando la prueba

  • Pendiente: número de tareas en espera de iniciarse

  • Aprovisionamiento: número de tareas que se están aprovisionando

Flujo de trabajo para ejecutar pruebas

Cuando se inicia una prueba, se produce el siguiente flujo de trabajo:

  1. Aprovisionamiento de tareas: la solución aprovisiona contenedores (tareas) en las regiones de AWS especificadas. Las tareas aparecen en la columna «Aprovisionamiento».

  2. Inicio de tareas: la solución continúa aprovisionando tareas hasta alcanzar el número de tareas objetivo en cada región. Las tareas pasan de «Aprovisionamiento» a «Pendientes» y luego a «En ejecución».

  3. Generación de tráfico: una vez que la solución aprovisiona todas las tareas de una región, comienza a enviar tráfico al punto final de destino.

  4. Ejecución de la prueba: la prueba se ejecuta durante el tiempo configurado (tiempo de arranque más tiempo de espera).

  5. Análisis de resultados: cuando finaliza la prueba, un trabajo de análisis en segundo plano agrega y procesa los resultados de todas las regiones.

Estados de ejecución de las pruebas

Las ejecuciones de prueba pueden tener los siguientes estados:

  • Programada: la prueba está programada para ejecutarse en el futuro.

  • En ejecución: la prueba está actualmente en curso.

  • Cancelado: un usuario canceló la ejecución de una prueba en curso.

  • Error: la ejecución de la prueba detectó un error.

  • Completado: la prueba se completó correctamente y los resultados están listos.

Monitorización con datos en tiempo real

Si habilitaste los datos en tiempo real al crear el escenario de prueba, puedes ver las métricas en tiempo real mientras se ejecuta la prueba. La sección de métricas en tiempo real muestra cuatro gráficos que se actualizan continuamente a medida que avanza la prueba, y los datos se agregan en intervalos de un segundo.

Gráficos de métricas en tiempo real que muestran datos de rendimiento de las pruebas en tiempo real

Descripciones de gráficos

Tiempo medio de respuesta

Muestra el tiempo medio de respuesta en segundos de las solicitudes procesadas por cada región. Y-axis Muestra el tiempo de respuesta en segundos y la X-axis hora del día. Cada región está representada por un color diferente en la leyenda.

Usuarios virtuales

Muestra el número de usuarios virtuales simultáneos que generan carga de forma activa en cada región. El gráfico muestra cómo aumentan los usuarios virtuales durante la prueba y cómo se mantiene el nivel de concurrencia objetivo.

Solicitudes exitosas

Muestra el recuento acumulado de solicitudes exitosas a lo largo del tiempo para cada región. El gráfico muestra la velocidad a la que se procesan las solicitudes exitosas.

Solicitudes fallidas

Muestra el recuento acumulado de solicitudes fallidas a lo largo del tiempo para cada región. Un recuento bajo o nulo indica una ejecución correcta de la prueba.

Multi-Region visualización

Cuando se realizan pruebas en varias regiones, cada gráfico muestra los datos de todas las regiones simultáneamente. La leyenda situada en la parte inferior de cada gráfico identifica el color que representa cada región (por ejemplo, us-west-2 y us-east-1).

Implementación técnica

El grupo de CloudWatch registro de las tareas de Fargate contiene un filtro de suscripción que captura los resultados de las pruebas. Cuando se detecta el patrón, una función de Lambda estructura los datos y los publica en un tema principal de AWS IoT. La consola web se suscribe a este tema y muestra las métricas en tiempo real.

nota

Los datos en tiempo real son efímeros y solo están disponibles mientras se ejecuta la prueba. La consola web conserva un máximo de 5000 puntos de datos, tras lo cual los datos más antiguos se sustituyen por los más recientes. Si la página se actualiza, los gráficos estarán en blanco y comenzarán desde el siguiente punto de datos disponible. Una vez finalizada la prueba, la solución almacena los datos de los resultados en DynamoDB y Amazon S3. Si aún no hay datos disponibles, los gráficos muestran el mensaje «No hay datos disponibles».

Cancelar una prueba

Puede cancelar una prueba en ejecución desde la consola web. Al cancelar una prueba, se produce el siguiente flujo de trabajo:

  1. La solicitud de cancelación se envía a la microservices API

  2. La microservices API llama a la función task-canceler Lambda, que detiene todas las tareas actualmente lanzadas

  3. Si la función task-runner Lambda continúa ejecutándose después de la llamada de cancelación inicial, es posible que las tareas sigan ejecutándose brevemente

  4. Una vez task-runner finalizada la función Lambda, AWS Step Functions continúa con el Cancel Test paso, en el que se vuelve a ejecutar la función task-canceler Lambda para detener las tareas restantes

nota

Las pruebas canceladas tardan un tiempo en completar el proceso de cierre, ya que la solución cierra todos los contenedores. El estado de la prueba cambiará a «Cancelado» una vez que se hayan limpiado todos los recursos.