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. Al navegar hasta 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.

Escenario de prueba en ejecución que muestra el estado de la tarea y las métricas 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 la tarea incluye información en tiempo real para cada región.

Tabla de estado de las tareas

La tabla de estado de la tarea muestra información en tiempo real de cada región:

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

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

  • Simultaneidad: el número 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 de ejecución de 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 que se alcance 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 (aumento + 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 la prueba

Las ejecuciones de prueba pueden tener los siguientes estados:

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

  • En ejecución: la prueba se encuentra actualmente en curso.

  • Cancelada: un usuario ha cancelado una prueba en curso.

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

  • Completa: la prueba se ha realizado correctamente y los resultados están listos.

Supervisión con datos en tiempo real

Si habilitó los datos en tiempo real al crear el escenario de prueba, puede ver las métricas en tiempo real mientras se ejecuta la prueba. La sección Métricas en tiempo real muestra cuatro gráficos que se actualizan continuamente a medida que avanza la prueba, con datos agregados 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 gráficas

Tiempo medio de respuesta

Muestra el tiempo medio de respuesta en segundos de las solicitudes procesadas por cada región. El eje Y muestra el tiempo de respuesta en segundos y el eje X muestra la hora del día. Cada región se representa con 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 mantiene el nivel de simultaneidad objetivo.

Solicitudes satisfactorias

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

Solicitudes fallidas

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

Visualización multirregional

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

Implementación técnica

El grupo de CloudWatch registros 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 de AWS IoT Core. 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 iniciadas.

  3. Si la función task-runner Lambda sigue ejecutándose después de la llamada de cancelación inicial, es posible que las tareas se sigan iniciando 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 «Cancelada» una vez que se hayan limpiado todos los recursos.