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

Cree un escenario de prueba

La creación de un escenario de prueba implica cuatro pasos principales: configurar los ajustes generales, definir el escenario, configurar los patrones de tráfico y revisar la configuración.

Paso 1: Configuración general

Configure los parámetros básicos de la prueba de carga, incluidos el nombre de la prueba, la descripción y las opciones de configuración generales.

Identificación de la prueba

  • Nombre de la prueba (obligatorio): un nombre descriptivo para el escenario de la prueba

  • Descripción de la prueba (obligatoria): detalles adicionales sobre el propósito y la configuración de la prueba

  • Etiquetas (opcional): añada hasta 5 etiquetas para clasificar y organizar los escenarios de prueba

Opciones de programación

Configure cuándo debe ejecutarse la prueba:

  • Ejecutar ahora: ejecuta la prueba inmediatamente después de crearla.

    Se seleccionó la opción Ejecutar ahora
  • Ejecutar una vez: programa la prueba para que se ejecute en una fecha y hora específicas.

    Opción Ejecutar una vez con selector de fecha y hora
  • Ejecute según un cronograma: utilice una programación basada en cronogramas para ejecutar las pruebas automáticamente a intervalos regulares. Puede seleccionar patrones comunes (cada hora, cada día, semanalmente) o definir una expresión cron personalizada.

    Ejecute según una opción programada con el selector de patrones cron

Programar flujo de trabajo

Al programar una prueba, se produce el siguiente flujo de trabajo:

  • Los parámetros de programación se envían a la API de la solución a través de Amazon API Gateway.

  • La API pasa los parámetros a una función Lambda que crea una regla de CloudWatch eventos programada para ejecutarse en la fecha especificada.

  • Para las pruebas únicas (ejecutar una vez), la regla CloudWatch Events se ejecuta en la fecha especificada y la función api-services Lambda ejecuta la prueba.

  • Para las pruebas recurrentes (ejecutadas según un programa), la regla CloudWatch Eventos se activa en la fecha especificada y la función api-services Lambda crea una nueva regla que se ejecuta de forma inmediata y recurrente en función de la frecuencia especificada.

Datos en directo

Seleccione la casilla de verificación Incluir datos en tiempo real para ver las métricas en tiempo real mientras se ejecuta la prueba. Cuando está habilitada, puedes monitorear:

  • Tiempo medio de respuesta.

  • Recuentos de usuarios virtuales.

  • Las solicitudes realizadas correctamente cuentan.

  • Recuentos de solicitudes fallidas.

La función de datos en tiempo real proporciona gráficos en tiempo real con datos agregados en intervalos de un segundo. Para obtener más información, consulte Supervisión con datos en tiempo real.

Paso 2: Configuración del escenario

Defina el escenario de prueba específico y seleccione el marco de pruebas que prefiera.

Selección del tipo de prueba

Elija el tipo de prueba de carga que desea realizar:

Seleccione el tipo de prueba que desee ejecutar
  • Punto final HTTP único: pruebe un único punto final de API o página web con una configuración sencilla.

  • JMeter- Cargue scripts JMeter de prueba (archivos.jmx o archivos.zip).

  • K6 - Cargue los scripts de prueba de K6 (archivos.js o archivos.zip).

  • Locust: cargue los scripts de prueba de Locust (archivos.py o archivos.zip).

Imagen de configuración del punto final HTTP: :images/test-types.png [Seleccione el tipo de prueba que desea ejecutar] Cuando seleccione «Punto final HTTP único», configure los siguientes ajustes:

Punto final HTTP (obligatorio)

Introduzca la URL completa del punto final que desee probar. Por ejemplo, https://api.example.com/users . Asegúrese de que se pueda acceder al punto final desde la infraestructura de AWS.

Método HTTP (obligatorio)

Seleccione el método HTTP para sus solicitudes. El valor predeterminado es GET. Otras opciones incluyen POSTPUT,DELETE, PATCHHEAD, yOPTIONS.

Encabezado de solicitud (opcional)

Agrega encabezados HTTP personalizados a tus solicitudes. Los ejemplos más comunes incluyen:

  • Content-Type: application/json

  • Authorization: Bearer <token>

  • User-Agent: LoadTest/1.0

    Seleccione Añadir encabezado para incluir varios encabezados.

Carga útil corporal (opcional)

Agregue el contenido del cuerpo de la solicitud para las solicitudes POST o PUT. Admite los formatos JSON, XML o texto sin formato. Por ejemplo: {"userId": 123, "action": "test"}.

Pruebe los scripts del framework

Cuando utilice JMeter K6 o Locust, cargue el archivo del script de prueba o un archivo.zip que contenga el guion de prueba y los archivos auxiliares. Por ejemplo JMeter, puedes incluir complementos personalizados en una /plugins carpeta dentro de tu archivo.zip.

importante

Si bien su script de prueba (JMeter, K6 o Locust) puede definir la simultaneidad (usuarios virtuales), las tasas de transacción (TPS), los tiempos de aceleración y otros parámetros de carga, la solución anulará estas configuraciones con los valores que especifique en la pantalla Traffic Shape durante la creación de la prueba. La configuración de Traffic Shape controla el recuento de tareas, la simultaneidad (usuarios virtuales por tarea), la duración del aumento y el tiempo de espera durante la ejecución de la prueba.

Paso 3: Forma del tráfico

Configure la forma en que se distribuirá el tráfico durante la prueba, incluida la compatibilidad multirregional.

Pantalla de configuración Traffic Shape

Configuración de tráfico multirregional

Seleccione una o más regiones de AWS para distribuir geográficamente la prueba de carga. Para cada región seleccionada, configure:

Recuento de tareas

El número de contenedores (tareas) que se lanzarán en el clúster de Fargate para el escenario de prueba. No se crearán tareas adicionales una vez que la cuenta haya alcanzado el límite de «Se ha alcanzado el recurso de Fargate».

Concurrency (Simultaneidad)

El número de usuarios virtuales simultáneos generados por tarea. El límite recomendado se basa en la configuración predeterminada de 2 v CPUs por tarea. La simultaneidad está limitada por los recursos de CPU y memoria.

Determine el número de usuarios

El número de usuarios que puede admitir un contenedor para una prueba se puede determinar aumentando gradualmente el número de usuarios y supervisando el rendimiento en Amazon CloudWatch. Una vez que observe que el rendimiento de la CPU y la memoria se acerca a sus límites, habrá alcanzado el número máximo de usuarios que un contenedor puede admitir para esa prueba en su configuración predeterminada (2 vCPU y 4 GB de memoria).

Proceso de calibración

Puede empezar a determinar los límites de usuarios simultáneos para la prueba mediante el siguiente ejemplo:

  1. Cree una prueba con un máximo de 200 usuarios.

  2. Mientras se ejecuta la prueba, supervise la CPU y la memoria mediante la CloudWatch consola:

    1. En el panel de navegación izquierdo, en Container Insights, selecciona Supervisión del rendimiento.

    2. En la página de supervisión del rendimiento, en el menú desplegable de la izquierda, selecciona ECS Clusters.

    3. En el menú desplegable de la derecha, selecciona tu clúster de Amazon Elastic Container Service (Amazon ECS).

  3. Mientras monitorea, observe la CPU y la memoria. Si la CPU no supera el 75% o la memoria no supera el 85% (ignore los picos únicos), puede realizar otra prueba con un número mayor de usuarios.

Repita los pasos 1 a 3 si la prueba no superó los límites de recursos. Si lo desea, puede aumentar los recursos del contenedor para permitir un mayor número de usuarios simultáneos. Sin embargo, esto se traduce en un coste mayor. Para obtener más información, consulta la Guía para desarrolladores.

nota

Para obtener resultados precisos, ejecute solo una prueba a la vez para determinar los límites de usuarios simultáneos. Todas las pruebas utilizan el mismo clúster, y CloudWatch Container Insights agrega los datos de rendimiento en función del clúster. Esto hace que ambas pruebas se notifiquen a CloudWatch Container Insights simultáneamente, lo que da como resultado métricas de uso de recursos inexactas en una sola prueba.

Para obtener más información sobre la calibración de los usuarios por motor, consulte Calibración de una prueba Taurus en la documentación. BlazeMeter

nota

La solución muestra la información sobre la capacidad disponible para cada región, lo que le ayuda a planificar la configuración de la prueba dentro de los límites disponibles.

Tabla de tareas disponibles

La tabla de tareas disponibles muestra la disponibilidad de recursos para cada región seleccionada:

  • Región: el nombre de la región de AWS.

  • v CPUs por tarea: la cantidad de elementos virtuales CPUs asignados a cada tarea (predeterminado: 2).

  • Límite de tareas de DLT: el número máximo de tareas que se pueden crear en función de los límites de Fargate de tu cuenta (predeterminado: 2000).

  • Tareas DLT disponibles: el número actual de tareas disponibles para su uso en la región (predeterminado: 2000).

Tabla que muestra las tareas disponibles por región

Para aumentar el número de tareas disponibles o v CPUs por tarea, consulta la Guía para desarrolladores.

Duración de la prueba

Defina cuánto tiempo durará la prueba de carga:

Aumente

El tiempo necesario para alcanzar el objetivo de simultaneidad. La carga aumenta gradualmente desde 0 hasta el nivel de simultaneidad configurado durante este período.

Mantenga pulsado durante

El tiempo necesario para mantener la carga objetivo. La prueba continúa con total simultaneidad durante este período.

Paso 4: Revisar y crear

Revise todas las configuraciones antes de crear el escenario de prueba. Verificar:

  • Configuración general (nombre, descripción, horario).

  • Configuración del escenario (tipo de prueba, punto final o script).

  • Forma del tráfico (tareas, usuarios, duración, regiones).

Tras revisarlo, selecciona Crear para guardar el escenario de prueba.

Administrar escenarios de prueba

Tras crear un escenario de prueba, puede:

  • Editar: modificar la configuración de la prueba. Los casos de uso comunes incluyen:

    • Refinar la forma del tráfico para lograr la tasa de transacción deseada.

  • Copiar: duplique un escenario de prueba existente para crear variantes. Los casos de uso comunes incluyen:

    • Actualizar los puntos finales o añadir headers/body parámetros.

    • Añadir o modificar scripts de prueba.

  • Eliminar: elimine los escenarios de prueba que ya no necesite.