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 prueba
-
Descripción de la prueba (obligatorio): detalles adicionales sobre el propósito y la configuración de la prueba
-
Etiquetas (opcional): añada hasta 5 etiquetas para clasificar y organizar sus escenarios de prueba
Opciones de programación
Configure cuándo debe ejecutarse la prueba:
-
Ejecutar ahora: ejecuta la prueba inmediatamente después de su creación.
-
Ejecutar una vez: programa la prueba para que se ejecute en una fecha y hora específicas.
-
Ejecute según un cronograma: utilice la programación basada en crones para ejecutar las pruebas automáticamente a intervalos regulares. Puedes seleccionar entre patrones comunes (cada hora, a diario o semanalmente) o definir una expresión cron personalizada. Para obtener más información sobre el formato cron aceptado, los patrones admitidos y las restricciones, consulta la referencia a las expresiones Cron en la guía para desarrolladores.
Programación del flujo de
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 de Lambda que crea una programación de Amazon EventBridge Scheduler configurada para ejecutarse en la fecha especificada.
-
En el caso de las pruebas únicas (ejecutadas una vez), la EventBridge programación del programador invoca la función
api-servicesLambda en la fecha y hora especificadas, que ejecuta la prueba. -
En el caso de las pruebas recurrentes (ejecutadas según una programación), la programación del EventBridge programador invoca la función
api-servicesLambda de forma inmediata y con la cadencia definida por la expresión cron o de velocidad hasta la fecha de caducidad.
Datos en directo
Seleccione la casilla Incluir datos en tiempo real para ver las métricas en tiempo real mientras se ejecuta la prueba. Cuando está habilitada, puedes supervisar:
-
Tiempo medio de respuesta.
-
Recuentos de usuarios virtuales.
-
Las solicitudes exitosas 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 Monitorización con datos en tiempo real.
Paso 2: Configuración del escenario
Defina el escenario de prueba específico y seleccione su marco de prueba preferido.
Selección del tipo de prueba
Elija el tipo de prueba de carga que desea realizar:
-
Punto final HTTP simple: pruebe un único punto final de API o una página web con una configuración sencilla.
-
JMeter: cargue los scripts de prueba de JMeter (archivos.jmx o .zip).
-
k6: sube los scripts de prueba de k6 (archivos.js o .zip).
-
Locust: sube los scripts de prueba de Locust (archivos.py o .zip).
nota
Los cuatro tipos de pruebas se basan en componentes de terceros. La solución ejecuta las pruebas mediante el marco de automatización de pruebas de Taurus, que ejecuta JMeter, k6 o Locust según el tipo de prueba. Las pruebas simples de HTTP Endpoint se convierten en un plan de pruebas de JMeter y se ejecutan con el Apache JMeter incluido. Antes de crear una prueba, revise los marcos de prueba para conocer Third-party las consideraciones de seguridad, la información sobre las licencias y las opciones de aplicación de parches.
Modo Traffic Shape
Elija qué lado controla la carga que genera la prueba. El modo que selecciones cambia los campos que muestra la consola en el paso 3: Forma del tráfico.
-
Estándar: la solución controla la carga. Usted establece los usuarios virtuales, el período de activación y la duración de la espera. Estándar es el predeterminado y es el único modo que admite las pruebas simples de puntos finales HTTP.
-
Nativo: el script controla la carga. La solución ejecuta el script en la propia línea de comandos del marco de pruebas y establece solo el recuento de tareas por región y la duración de la seguridad.
Native requiere cargar un script, por lo que no puedes seleccionarlo si eliges el tipo de prueba Simple HTTP Endpoint. Para obtener las definiciones completas y la orientación sobre qué modo elegir, consulta los modos de configuración del tráfico.
Configuración del punto final HTTP
Cuando se selecciona «Punto de enlace HTTP simple», la solución genera un plan de pruebas de JMeter a partir de su configuración y lo ejecuta con el binario Apache JMeter incluido. Configure estas opciones:
- Punto final HTTP (obligatorio)
-
Introduzca la URL completa del punto final que desea 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 incluyenPOSTPUT,DELETE,PATCHHEAD, yOPTIONS. - Encabezado de solicitud (opcional)
-
Agregue encabezados HTTP personalizados a sus solicitudes. Los ejemplos comunes incluyen:
-
Content-Type: application/json -
Authorization: Bearer <token> -
User-Agent: LoadTest/1.0Elige Agregar encabezado para incluir varios encabezados.
-
- Body Payload (opcional)
-
Agregue el contenido del cuerpo de la solicitud para las solicitudes POST o PUT. Es compatible con los formatos JSON, XML o texto sin formato. Por ejemplo:
{"userId": 123, "action": "test"}.
Pruebe los scripts del marco
Cuando utilices JMeter, k6 o Locust, sube tu archivo de script de prueba o un archivo.zip que contenga tu script de prueba y los archivos complementarios.
En el caso de JMeter, puedes incluir complementos personalizados en una /plugins carpeta dentro de tu archivo .zip.
En el caso de Locust, se debe asignar un nombre a un script de prueba dentro de un archivo.zip. locustfile.py Para instalar paquetes de Python de terceros en el contenedor durante la ejecución, incluye un requirements.txt archivo en el archivo y, si lo desea, un packages subdirectorio de archivos de rueda para instalarlos sin acceso a Internet. Para obtener más información, consulte las pruebas de Locust.
importante
En el modo Estándar, la solución controla la carga y anula lo que declara el script. El script de prueba (JMeter, k6 o Locust) puede definir la concurrencia (usuarios virtuales), las tasas de transacción (TPS), los tiempos de aceleración y otros parámetros de carga. En su lugar, la solución aplica los valores que especifiques en la pantalla Traffic Shape. Esa configuración controla el recuento de tareas, la simultaneidad (usuarios virtuales por tarea), la duración de la aceleración y la duración de la espera de la ejecución de la prueba.
En el modo nativo, el script controla la carga y la solución no transfiere ningún parámetro de carga al marco. Para ver la diferencia entre los dos modos, consulte los modos Traffic Shape.
Duración de seguridad (modo nativo)
Al seleccionar el modo nativo, la consola muestra un campo de duración de seguridad junto con la carga del script. El valor predeterminado es de 4 horas y el máximo de 24 horas.
En el modo nativo, la duración de seguridad finaliza una prueba que se ejecuta durante más tiempo del previsto, ya que el script decide cuándo finaliza la ejecución. Se trata de una guardia, no de un cronograma. Si la prueba sigue ejecutándose cuando transcurre el tiempo, la solución detiene el marco de prueba. Conserva los resultados de la parte que se ejecutó y registra la ejecución como completada en lugar de fallida. Establézcala por encima de la ejecución más larga que espera que necesite el script.
Paso 3: Forma del tráfico
Configure cómo se distribuirá el tráfico durante la prueba, incluida la compatibilidad multirregional.
Modos de configuración del tráfico
La solución ofrece dos modos de configuración del tráfico: estándar y nativo. Se diferencian en el lado que controla la carga: la solución o el script que subes. El modo se selecciona en el paso 2: Configuración del escenario, y este determina cuál de los campos siguientes se aplica.
nota
El modo nativo es una función de previsualización de la versión 4.3.0. El modo estándar es el predeterminado y es el comportamiento que la solución siempre ha utilizado.
Estándar
El modo estándar permite a la solución controlar la carga. Tú estableces la cantidad de tareas de Fargate por región, los usuarios virtuales simultáneos por tarea, el período de aceleración y la duración de la espera. La solución ejecuta la prueba a través del marco de automatización de Taurus, que traduce esos valores en los propios controles de carga del marco subyacente. Taurus tiene prioridad sobre cualquier carga que declare su script, por lo que un bloque de opciones de k6, un grupo de hilos de Locust LoadTestShape o JMeter se reescribe o se ignora. Los usuarios virtuales de una región son el recuento de tareas multiplicado por la concurrencia de cada tarea, y la forma es la misma independientemente del marco que elijas. Así es como se ejecutaban todas las pruebas antes de la versión 4.3.0, por lo que los escenarios creados anteriormente siguen comportándose exactamente como lo hacían y no necesitan cambios.
Elija Estándar cuando la forma de carga no esté incluida en el script o se defina desde la consola, la CLI o un agente. Standard es el único modo que permite establecer un recuento exacto de usuarios virtuales y cambiar la forma de aumento y retención sin tocar el script. Solo el estándar admite el tipo de punto final HTTP simple, en el que la solución genera el plan de pruebas automáticamente. Usos típicos: comprobar la capacidad de 500 a 5000 usuarios virtuales, realizar una regresión nocturna para retener a 1000 usuarios durante diez minutos o cualquier comparación que necesite una rampa idéntica. Su límite es la expresividad. Todo lo que Taurus no pueda representar no está disponible aquí, incluidos varios escenarios ponderados, umbrales por etapa y ejecutores con tasas de llegada.
Nativo
El modo nativo permite al script controlar la carga. La solución ejecuta el archivo que cargó en la propia línea de comandos del marco:jmeter -n -t,k6 run, olocust --headless. No detecta ningún indicador de carga, por lo que su script es la única autoridad sobre el tráfico que genera y la solución nunca lo reescribe. Quedan dos controles: el número de tareas de Fargate que se deben iniciar por región y el tiempo de seguridad obligatorio de hasta 24 horas. La duración de la seguridad es para evitar que se produzca un guion que nunca finaliza, no para establecer un cronograma. Si una prueba sigue ejecutándose una vez transcurrido el tiempo, la solución detiene el marco, recopila los resultados de la parte que se ejecutó y registra la ejecución como completada en lugar de fallida. Cada tarea se ejecuta como un proceso marco independiente sin coordinación entre las tareas, por lo que una región genera una copia completa de la carga declarada del script para cada tarea. Por ejemplo, un script k6 que contiene 200 usuarios virtuales, se ejecuta en cinco tareas y sitúa a 1000 usuarios virtuales en el objetivo. Por lo tanto, el recuento de tareas es el único control de carga que ofrece Native, y se mueve en múltiplos enteros de lo que declara el script. Cambiar la rampa, el tiempo de espera o el propio recuento de usuarios virtuales implica editar el script.
Elija Nativo cuando desee ejecutar un script exactamente como se escribió. Un script que ya se ejecuta localmente o en CI se ejecuta sin cambios en la solución, que es la razón principal por la que opta por Native. Native conserva todo lo que el marco puede expresar: k6 escenarios, etapas y umbrales; LoadTestShape clases de Locust y conjuntos de tareas ponderados; temporizadores y grupos de subprocesos de JMeter. Elígelo cuando la forma de la carga forme parte de lo que significa la prueba, y reproducirlo fielmente es más importante que guiarlo desde fuera. Usos típicos: reutilizar un script k6 de una canalización sin volver a escribirlo, crear un perfil en el que se produce un pico y luego se recupera o escenarios ponderados que un solo número de simultaneidad no puede expresar. Al ejecutar el marco tal como se creó, se derivan dos restricciones. Native requiere cargar un script, por lo que Simple HTTP Endpoint no está disponible. Los scripts de Locust no se deben configurarprocesses, ya que la solución solo cuenta las solicitudes cuando Locust se ejecuta como un solo proceso.
Elección de un modo
| Si lo necesita | Elija |
|---|---|
|
Un recuento exacto de usuarios virtuales, establecido desde fuera del script |
Standard |
|
Para cambiar el tiempo de espera o de aceleración sin editar el guion |
Standard |
|
Una única URL sin ningún script |
Standard |
|
La misma forma de carga independientemente del marco |
Standard |
|
Para reutilizar un script local o de CI sin cambios |
KCL |
|
Se respetan las etapas, los umbrales o la forma propios del guion |
KCL |
|
k6 escenarios, umbrales o ejecutores de tasas de llegada |
KCL |
|
Un conjunto de tareas ponderadas o de Locust |
KCL |
|
Los temporizadores y grupos de subprocesos de JMeter se ejecutan exactamente como se crearon |
KCL |
|
Para escalar, cargue solo en múltiplos enteros de la propia carga del script |
KCL |
Multi-Region configuración de tráfico
Seleccione una o más regiones de AWS para distribuir la prueba de carga geográficamente. Para cada región seleccionada, configure:
- Recuento de tareas
-
La cantidad 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». El recuento de tareas se aplica a ambos modos de configuración del tráfico. En el modo nativo, es el único control de carga que ofrece la consola, ya que cada tarea ejecuta una copia completa del script.
- 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 CPU virtuales por tarea. La concurrencia está limitada por los recursos de CPU y memoria. Este campo se aplica únicamente al modo Estándar. En el modo nativo, la consola muestra un valor de solo lectura de «Definido por script» para cada región, porque el script establece su propio recuento de usuarios virtuales.
Determine la cantidad de usuarios
La cantidad de usuarios que puede admitir un contenedor para una prueba se puede determinar aumentando gradualmente la cantidad de usuarios y supervisando el rendimiento en Amazon CloudWatch. Cuando 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).
Esta calibración establece el valor de concurrencia, por lo que se aplica al modo estándar. Los límites de contenedor que establece también se aplican al modo nativo. Ahí aumentas o disminuyes la carga que declara tu script, en lugar de establecer el campo de concurrencia.
Proceso de calibración
Puede empezar a determinar los límites de usuarios simultáneos para su prueba mediante el siguiente ejemplo:
-
Crea una prueba con no más de 200 usuarios.
-
Mientras se ejecuta la prueba, supervise la CPU y la memoria con la CloudWatch consola
: -
En el panel de navegación, en Container Insights, selecciona Performance Monitoring.
-
En la página de supervisión del rendimiento, en el menú desplegable de la izquierda, selecciona ECS Clusters.
-
En el menú desplegable de la derecha, seleccione su clúster de Amazon Elastic Container Service (Amazon ECS).
-
-
Mientras monitoriza, observe la CPU y la memoria. Si la CPU no supera el 75% o la memoria no supera el 85% (ignore los picos puntuales), 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 costo más alto. Para obtener más información, consulte la Guía para desarrolladores.
nota
Para obtener resultados precisos, realiza 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 simultáneamente a CloudWatch Container Insights, lo que da como resultado métricas de utilización de recursos inexactas para una sola prueba.
Para obtener más información sobre la calibración de los usuarios por motor, consulte Calibrar una prueba de Taurus
nota
La solución muestra la información de 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.
-
CPU virtuales por tarea: la cantidad de CPU virtuales asignadas 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 la cuota de vCPU virtuales bajo demanda de Fargate de su cuenta. Las cuentas nuevas suelen tener una cuota más baja; comprueba tu límite actual en la consola de cuotas de servicio y solicita un aumento si es necesario.
-
Tareas de DLT disponibles: el número actual de tareas disponibles en la región, calculado como el límite de tareas de DLT menos las CPU virtuales que ya están en uso al ejecutar tareas de Fargate.
Para aumentar la cantidad de tareas o CPU virtuales disponibles por tarea, consulta la Guía para desarrolladores.
Duración de la prueba
Defina cuánto tiempo durará la prueba de carga. La consola muestra esta sección solo en modo Estándar. En el modo nativo, el script determina durante cuánto tiempo se ejecutará la prueba, dependiendo del tiempo de seguridad establecido en el paso 2: Configuración del escenario.
- ¡Aumente la velocidad
-
El tiempo necesario para alcanzar el objetivo de concurrencia. La carga aumenta gradualmente desde 0 hasta el nivel de simultaneidad configurado durante este período.
- Mantenga pulsado durante
-
La duración para mantener la carga objetivo. La prueba continúa en plena concurrencia 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, programación).
-
Configuración del escenario (tipo de prueba, punto final o script).
-
Forma del tráfico (modo, tareas, usuarios, duración, regiones).
Tras revisarlo, elija Crear para guardar el escenario de prueba.
Administración de escenarios de prueba
Tras crear un escenario de prueba, puede:
-
Editar: modificar la configuración de prueba. Los casos de uso comunes incluyen:
-
Refinar la forma del tráfico para lograr la tasa de transacciones deseada.
-
-
Copiar: duplica un escenario de prueba existente para crear variaciones. Los casos de uso comunes incluyen:
-
Actualizar los puntos finales o agregar headers/body parámetros.
-
Agregar o modificar guiones de prueba.
-
-
Eliminar: elimina los escenarios de prueba que ya no necesites.