API de pruebas de carga distribuida - 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.

API de pruebas de carga distribuida

Esta solución de pruebas de carga le ayuda a exponer los datos de los resultados de las pruebas de forma segura. La API actúa como una «puerta principal» para acceder a los datos de prueba almacenados en Amazon DynamoDB. También puede utilizarla APIs para acceder a cualquier funcionalidad ampliada que incorpore a la solución.

Esta solución utiliza un grupo de usuarios de Amazon Cognito integrado con Amazon API Gateway para su identificación y autorización. Cuando se utiliza un grupo de usuarios con la API, los clientes solo pueden llamar a los métodos activados por el grupo de usuarios después de proporcionar un token de identidad válido.

Para obtener más información sobre la ejecución de pruebas directamente a través de la API, consulte Firmar solicitudes en la documentación de referencia de la API REST de Amazon API Gateway.

Las siguientes operaciones están disponibles en la API de la solución.

nota

Para obtener más información testScenario y otros parámetros, consulte los escenarios y el ejemplo de carga útil en el GitHub repositorio.

Información de pila

Escenarios

Ejecuciones de prueba

Referencia

Tareas

Regiones

OBTENGA /stack-info

Description (Descripción)

La GET /stack-info operación recupera información sobre la pila implementada, incluida la hora de creación, la región y la versión. El front-end utiliza este punto final.

Respuesta

200: éxito

Name Description (Descripción)

created_time

Marca de tiempo ISO 8601 cuando se creó la pila (por ejemplo,) 2025-09-09T19:40:22Z

region

Región de AWS en la que se implementa la pila (por ejemplo,us-east-1)

version

Versión de la solución implementada (por ejemplo,v4.0.0)

Respuestas de error

  • 403- Prohibido: permisos insuficientes para acceder a la información de la pila

  • 404- No se ha encontrado: la información de la pila no está disponible

  • 500- Error interno del servidor

GET/scenarios

Description (Descripción)

La GET /scenarios operación le permite recuperar una lista de escenarios de prueba.

Respuesta

Name Description (Descripción)

data

Una lista de escenarios que incluye el ID, el nombre, la descripción, el estado, el tiempo de ejecución, las etiquetas, el total de ejecuciones y la última ejecución de cada prueba

POST/escenarios

Description (Descripción)

La POST /scenarios operación le permite crear o programar un escenario de prueba.

Cuerpo de la solicitud

Name Description (Descripción)

testName

El nombre de la prueba

testDescription

La descripción de la prueba

testTaskConfigs

Un objeto que especifica concurrency (el número de ejecuciones paralelas), taskCount (el número de tareas necesarias para ejecutar una prueba) y region para el escenario

testScenario

La definición de la prueba incluye la simultaneidad, la hora de la prueba, el anfitrión y el método de la prueba

testType

El tipo de prueba (por ejemplosimple,jmeter)

fileType

El tipo de archivo de carga (por ejemplo,none,script,zip)

tags

Un conjunto de cadenas para categorizar las pruebas. Campo opcional con una longitud máxima de 5 (por ejemplo,["blue", "3.0", "critical"])

scheduleDate

La fecha para realizar una prueba. Solo se proporciona si se programa una prueba (por ejemplo,2021-02-28)

scheduleTime

El tiempo necesario para ejecutar una prueba. Solo se proporciona si se programa una prueba (por ejemplo,21:07)

scheduleStep

El paso del proceso de programación. Solo se proporciona si se programa una prueba periódica. (Los pasos disponibles incluyen create ystart)

cronvalue

El valor cron para personalizar la programación periódica. Si se usa, omita ScheduleDate y ScheduleTime.

cronExpiryDate

Fecha obligatoria para que el cron caduque y no se ejecute indefinidamente.

recurrence

La recurrencia de una prueba programada. Solo se proporciona si se programa una prueba periódica (por ejemplodaily,,weekly,biweekly, omonthly)

Respuesta

Name Description (Descripción)

testId

El identificador único de la prueba

testName

El nombre de la prueba

status

El estado de la prueba

OPCIONES/ESCENARIOS

Description (Descripción)

La OPTIONS /scenarios operación proporciona una respuesta a la solicitud con los encabezados de respuesta CORS correctos.

Respuesta

Name Description (Descripción)

testId

El identificador único de la prueba

testName

El nombre de la prueba

status

El estado de la prueba

GET /scenarios/ {testID}

Description (Descripción)

La GET /scenarios/{testId} operación le permite recuperar los detalles de un escenario de prueba específico.

Parámetros de solicitud

testId
  • El identificador único de la prueba

    Tipo: cadena

    Obligatorio: sí

latest
  • Parámetro de consulta para devolver solo la última ejecución de la prueba. El valor predeterminado es true

    Tipo: Booleano

    Obligatorio: no

history
  • Parámetro de consulta para incluir el historial de ejecución de las pruebas en la respuesta. El valor predeterminado es true. Configúrelo false en para excluir el historial

    Tipo: Booleano

    Obligatorio: no

Respuesta

Name Description (Descripción)

testId

El identificador único de la prueba

testName

El nombre de la prueba

testDescription

La descripción de la prueba

testType

El tipo de prueba que se ejecuta (por ejemplosimple,jmeter)

fileType

El tipo de archivo que se carga (por ejemplo,none,script,zip)

tags

Un conjunto de cadenas para categorizar las pruebas

status

El estado de la prueba

startTime

La hora y la fecha en que se inició la última prueba

endTime

La hora y la fecha en que finalizó la última prueba

testScenario

La definición de la prueba incluye la simultaneidad, la hora de la prueba, el anfitrión y el método de la prueba

taskCount

El número de tareas necesarias para ejecutar la prueba

taskIds

Una lista de tareas IDs para ejecutar las pruebas

results

Los resultados finales de la prueba

history

Una lista de los resultados finales de las pruebas anteriores (se excluyen cuandohistory=false)

totalRuns

El número total de pruebas realizadas en este escenario

lastRun

La marca de tiempo de la última ejecución de la prueba

errorReason

Un mensaje de error que se genera cuando se produce un error

nextRun

La próxima ejecución programada (por ejemplo,2017-04-22 17:18:00)

scheduleRecurrence

La recurrencia de la prueba (por ejemplo,daily,weekly,biweekly,monthly)

POST /escenarios/ {testID}

Description (Descripción)

La POST /scenarios/{testId} operación le permite cancelar un escenario de prueba específico.

Parámetro de solicitud

testId
  • El identificador único de la prueba

    Tipo: cadena

    Obligatorio: sí

Respuesta

Name Description (Descripción)

status

El estado de la prueba

ELIMINAR /scenarios/ {testID}

Description (Descripción)

La DELETE /scenarios/{testId} operación le permite eliminar todos los datos relacionados con un escenario de prueba específico.

Parámetro de solicitud

testId
  • El identificador único de la prueba

    Tipo: cadena

    Obligatorio: sí

Respuesta

Name Description (Descripción)

status

El estado de la prueba

OPCIONES /escenarios/ {testID}

Description (Descripción)

La OPTIONS /scenarios/{testId} operación proporciona una respuesta a la solicitud con los encabezados de respuesta CORS correctos.

Respuesta

Name Description (Descripción)

testId

El identificador único de la prueba

testName

El nombre de la prueba

testDescription

La descripción de la prueba

testType

El tipo de prueba que se ejecuta (por ejemplosimple,jmeter)

fileType

El tipo de archivo que se carga (por ejemplo,none,script,zip)

status

El estado de la prueba

startTime

La hora y la fecha en que se inició la última prueba

endTime

La hora y la fecha en que finalizó la última prueba

testScenario

La definición de la prueba incluye la simultaneidad, la hora de la prueba, el anfitrión y el método de la prueba

taskCount

El número de tareas necesarias para ejecutar la prueba

taskIds

Una lista de tareas IDs para ejecutar las pruebas

results

Los resultados finales de la prueba

history

Una lista de los resultados finales de las pruebas anteriores

errorReason

Un mensaje de error que se genera cuando se produce un error

GET /scenarios/ {testID} /testruns

Description (Descripción)

La GET /scenarios/{testId}/testruns operación recupera la ejecución de la prueba para un escenario de prueba específico, IDs filtrada opcionalmente por rango de tiempo. Cuandolatest=true, devuelve solo la ejecución de prueba más reciente.

Parámetros de solicitud

testId
  • El ID del escenario de prueba

    Tipo: cadena

    Obligatorio: sí

latest
  • Devuelve solo el ID de ejecución de la prueba más reciente

    Tipo: Booleano

    Valor predeterminado: false

    Obligatorio: no

start_timestamp
  • Marca de tiempo ISO 8601 desde la que filtrar las pruebas (incluida). Por ejemplo, 2024-01-01T00:00:00Z

    Tipo: cadena (formato de fecha y hora)

    Obligatorio: no

end_timestamp
  • Marca de tiempo ISO 8601 para filtrar las pruebas realizadas (inclusive). Por ejemplo, 2024-12-31T23:59:59Z

    Tipo: cadena (formato de fecha y hora)

    Obligatorio: no

limit
  • Número máximo de ejecuciones de prueba que se devolverán (se omite cuando) latest=true

    Tipo: entero (mínimo: 1, máximo: 100)

    Valor predeterminado: 20

    Obligatorio: no

next_token
  • Símbolo de paginación de la respuesta anterior para obtener la página siguiente

    Tipo: cadena

    Requerido: no

Respuesta

200 - ¡Éxito

Name Description (Descripción)

testRuns

Matriz de objetos de prueba, cada uno de los cuales contiene testRunId (cadena) y startTime (fecha y hora ISO 8601)

pagination

Objeto que contiene limit (entero) y next_token (cadena o nulo). El token es nulo si no hay más resultados

Respuestas de error

  • 400- El formato o los parámetros de la marca de tiempo no son válidos

  • 404- No se encontró el escenario de prueba

  • 500- Error interno del servidor

Ejemplo de uso

  • Solo la última prueba realizada: GET /scenarios/test123/testruns?latest=true

  • Lo último dentro del intervalo de tiempo: GET /scenarios/test123/testruns?latest=true&start_timestamp=2024-01-01T00:00:00Z

  • Solicitud de página siguiente: GET /scenarios/test123/testruns?limit=20&next_token=eyJ0ZXN0SWQiOiJzZVFVeTEyTEtMIiwic3RhcnRUaW1lIjoiMjAyNC0wMS0xM1QxNjo0NTowMFoifQ==

GET /scenarios/ {testID} /testruns/ {} testRunId

Description (Descripción)

La GET /scenarios/{testId}/testruns/{testRunId} operación recupera los resultados y las métricas completos de una ejecución de prueba específica. Si lo desea, omita los resultados del historial history=false para obtener una respuesta más rápida.

Parámetros de solicitud

testId
  • El ID del escenario de prueba

    Tipo: cadena

    Obligatorio: sí

testRunId
  • El ID específico de la ejecución de la prueba

    Tipo: cadena

    Obligatorio: sí

history
  • Incluya una matriz de historial en la respuesta. Configúrelo false en para omitir el historial para una respuesta más rápida

    Tipo: Booleano

    Valor predeterminado: true

    Obligatorio: no

Respuesta

200 - Éxito

Name Description (Descripción)

testId

El identificador único de la prueba (por ejemplo,seQUy12LKL)

testRunId

El ID específico de la ejecución de la prueba (por ejemplo,2DEwHItEne)

testDescription

Descripción de la prueba de carga

testType

El tipo de prueba (por ejemplo,simple,jmeter)

status

El estado de la ejecución de la prueba: completerunning,failed, o cancelled

startTime

La hora y la fecha en que se inició la prueba (por ejemplo,2025-09-09 21:01:00)

endTime

La hora y la fecha en que finalizó la prueba (por ejemplo,2025-09-09 21:18:29)

succPercent

Porcentaje de éxito (por ejemplo,100.00)

testTaskConfigs

Matriz de objetos de configuración de tareas que contiene regiontaskCount, y concurrency

completeTasks

Asignación de regiones de objetos a recuentos de tareas completadas

results

Objeto que contiene métricas detalladas que incluyen avg_lt (latencia media), percentiles (p0_0,p50_0,p90_0,,p95_0,p99_0,p100_0)p99_9, avg_rt (tiempo medio de respuesta), avg_ct (tiempo medio de conexión), stdev_rt (tiempo de respuesta a la desviación estándar),, concurrencythroughput, succ (recuento de éxitos), fail (recuento de fallos),,bytes, testDurationmetricS3Location, rc (matriz de códigos de respuesta) y matriz labels

testScenario

Objeto que contiene la configuración de prueba con executionreporting, y propiedades scenarios

history

Matriz de resultados históricos de las pruebas (se excluyen cuandohistory=false)

Respuestas de error

  • 400- ID de prueba no válido o testRunId

  • 404- No se encontró la ejecución de la prueba

  • 500- Error interno del servidor

ELIMINAR /scenarios/ {testID} /testruns/ {} testRunId

Description (Descripción)

La DELETE /scenarios/{testId}/testruns/{testRunId} operación elimina todos los datos y artefactos relacionados con una ejecución de prueba específica. Los datos de la ejecución de la prueba se eliminan de DynamoDB, mientras que los datos de prueba reales de S3 permanecen inalterados.

Parámetros de solicitud

testId
  • El ID del escenario de prueba

    Tipo: cadena

    Obligatorio: sí

testRunId
  • El ID de ejecución de la prueba específico que se va a eliminar

    Tipo: cadena

    Obligatorio: sí

Respuesta

204 - Éxito

La ejecución de la prueba se ha eliminado correctamente (no se ha devuelto ningún contenido)

Respuestas de error

  • 400- ID de prueba no válido o testRunId

  • 403- Prohibido: permisos insuficientes para eliminar la ejecución de la prueba

  • 404- No se encontró la ejecución de la prueba

  • 409- Conflicto: la ejecución de la prueba se está ejecutando actualmente y no se puede eliminar

  • 500- Error interno del servidor

GET /scenarios/ {testID} /baseline

Description (Descripción)

La GET /scenarios/{testId}/baseline operación recupera el resultado de la prueba de referencia designado para un escenario. Devuelve el identificador de ejecución de la prueba de referencia o los resultados de referencia completos en función del data parámetro.

Parámetros de solicitud

testId
  • El ID del escenario de prueba

    Tipo: cadena

    Obligatorio: sí

data
  • Devuelve los datos completos de la ejecución de la prueba de referencia sitrue, de lo contrario, solo testRunId

    Tipo: Booleano

    Valor predeterminado: false

    Obligatorio: no

Respuesta

200 - Éxito

Cuándo data=false (predeterminado):

Name Description (Descripción)

testId

El ID del escenario de prueba (por ejemplo,seQUy12LKL)

baselineTestRunId

El ID de ejecución de la prueba de referencia (por ejemplo,2DEwHItEne)

Cuándodata=true:

Name Description (Descripción)

testId

El ID del escenario de prueba (por ejemplo,seQUy12LKL)

baselineTestRunId

El ID de ejecución de la prueba de referencia (por ejemplo,2DEwHItEne)

baselineData

Objeto completo con los resultados de la ejecución de la prueba (con la misma estructura queGET /scenarios/{testId}/testruns/{testRunId})

Respuestas de error

  • 400- Parámetro TestID no válido

  • 404- No se encontró el escenario de prueba o no se estableció una línea base

  • 500- Error interno del servidor

PUT /scenarios/ {testID} /baseline

Description (Descripción)

La PUT /scenarios/{testId}/baseline operación designa una ejecución de prueba específica como referencia para la comparación del rendimiento. Solo se puede establecer una línea base por escenario.

Parámetros de solicitud

testId
  • El ID del escenario de prueba

    Tipo: cadena

    Obligatorio: sí

Cuerpo de la solicitud

Name Description (Descripción)

testRunId

El ID de ejecución de la prueba que se va a establecer como referencia (por ejemplo,2DEwHItEne)

Respuesta

200: éxito

Name Description (Descripción)

message

Mensaje de confirmación (por ejemplo,Baseline set successfully)

testId

El ID del escenario de prueba (por ejemplo,seQUy12LKL)

baselineTestRunId

El ID de ejecución de la prueba de referencia que se estableció (por ejemplo,2DEwHItEne)

Respuestas de error

  • 400- ID de prueba no válido o testRunId

  • 404- No se encontró el escenario de prueba o la ejecución de la prueba

  • 409- Conflicto: la ejecución de la prueba no se puede establecer como línea base (por ejemplo, una prueba fallida)

  • 500- Error interno del servidor

ELIMINAR /scenarios/ {testID} /baseline

Description (Descripción)

La DELETE /scenarios/{testId}/baseline operación borra el valor de referencia de un escenario configurándolo en una cadena vacía.

Parámetros de solicitud

testId
  • El ID del escenario de prueba

    Tipo: cadena

    Obligatorio: sí

Respuesta

204 - Éxito

La línea base se borró correctamente (no se devolvió contenido)

Respuestas de error

  • 400- ID de prueba no válido

  • 500- Error interno del servidor

GET /tasks

Description (Descripción)

La GET /tasks operación le permite recuperar una lista de las tareas en ejecución de Amazon Elastic Container Service (Amazon ECS).

Respuesta

Name Description (Descripción)

tasks

Una lista de tareas IDs para ejecutar las pruebas

OPCIONES /tareas

Description (Descripción)

La operación de OPTIONS /tasks tareas proporciona una respuesta a la solicitud con los encabezados de respuesta CORS correctos.

Respuesta

Name Description (Descripción)

taskIds

Una lista de tareas IDs para ejecutar las pruebas

GET /regions

Description (Descripción)

La GET /regions operación le permite recuperar la información de recursos regionales necesaria para ejecutar una prueba en esa región.

Respuesta

Name Description (Descripción)

testId

El ID de la región

ecsCloudWatchLogGroup

El nombre del grupo de CloudWatch registros de Amazon para las tareas de Amazon Fargate en la región

region

La región en la que se encuentran los recursos de la tabla

subnetA

El ID de una de las subredes de la región

subnetB

El ID de una de las subredes de la región

taskCluster

El nombre del clúster de AWS Fargate en la región

taskDefinition

El ARN de la definición de tareas en la Región

taskImage

El nombre de la imagen de la tarea en la región

taskSecurityGroup

El ID del grupo de seguridad de la región

OPCIONES/regiones

Description (Descripción)

La OPTIONS /regions operación proporciona una respuesta a la solicitud con los encabezados de respuesta CORS correctos.

Respuesta

Name Description (Descripción)

testId

El ID de la región

ecsCloudWatchLogGroup

El nombre del grupo de CloudWatch registros de Amazon para las tareas de Amazon Fargate en la región

region

La región en la que se encuentran los recursos de la tabla

subnetA

El ID de una de las subredes de la región

subnetB

El ID de una de las subredes de la región

taskCluster

El nombre del clúster de AWS Fargate en la región

taskDefinition

El ARN de la definición de tareas en la Región

taskImage

El nombre de la imagen de la tarea en la región

taskSecurityGroup

El ID del grupo de seguridad de la región