Consideraciones sobre el diseño - 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.

Consideraciones sobre el diseño

En esta sección, se describen las decisiones de diseño y las opciones de configuración importantes para la solución Distributed Load Testing on AWS, incluidas las aplicaciones compatibles, los tipos de pruebas, las opciones de programación y las consideraciones de implementación.

Aplicaciones compatibles

Esta solución permite probar aplicaciones basadas en la nube y aplicaciones locales siempre que tenga conectividad de red desde su cuenta de AWS a su aplicación. La solución admite APIs el uso de protocolos HTTP o HTTPS.

Tipos de pruebas

Las pruebas de carga distribuidas en AWS admiten varios tipos de pruebas: pruebas de punto final HTTP simples JMeter, K6 y Locust.

Pruebas sencillas de puntos finales HTTP

La consola web proporciona una interfaz de configuración de puntos finales HTTP que permite probar cualquier punto final HTTP o HTTPS sin necesidad de escribir scripts personalizados. Defina la URL del punto final, seleccione el método HTTP (GET, POST, PUT, DELETE, etc.) en un menú desplegable y, si lo desea, añada encabezados de solicitud y cargas útiles de cuerpo personalizados. Esta configuración te permite realizar pruebas APIs con identificadores de autorización personalizados, tipos de contenido o cualquier otro encabezado HTTP y cuerpo de solicitud que requiera tu aplicación.

JMeter pruebas

Al crear un escenario de prueba mediante la consola web, puede cargar un script JMeter de prueba. La solución carga el script en el bucket S3 del escenario. Cuando se ejecutan las tareas de Amazon ECS, descargan el JMeter script de S3 y ejecutan la prueba.

importante

Si bien su JMeter script 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 de la ejecución de la prueba.

Si tiene archivos JMeter de entrada, puede comprimirlos junto con el script. JMeter Puede elegir el archivo zip al crear un escenario de prueba.

Si quieres incluir complementos, cualquier archivo.jar que esté incluido en un subdirectorio /plugins del archivo zip incluido se copiará en el directorio de JMeter extensiones y estará disponible para las pruebas de carga.

nota

Si incluye archivos JMeter de entrada en el archivo de JMeter script, debe incluir la ruta relativa de los archivos de entrada en el archivo de script. JMeter Además, los archivos de entrada deben estar en la ruta relativa. Por ejemplo, si los archivos de JMeter entrada y el archivo de script están en su lugar en/home/user directory and you refer to the input files in the JMeter script file, the path of input files must be ./INPUT_FILES. If you use /home/user/INPUT_FILES, la prueba fallará porque no podrá encontrar los archivos de entrada.

Si incluye JMeter complementos, los archivos.jar deben estar agrupados en un subdirectorio denominado /plugins dentro de la raíz del archivo zip. En relación con la raíz del archivo zip, la ruta a los archivos jar debe ser. /plugins/bundled_plugin.jar.

Para obtener más información sobre cómo utilizar los scripts, consulte el Manual del usuario. JMeter JMeter

Pruebas K6

La solución admite las pruebas basadas en el marco K6. K6 se publica bajo la licencia AGPL-3.0. La solución muestra un mensaje de confirmación de licencia al crear una nueva prueba K6. Puede cargar el archivo de prueba K6 junto con los archivos de entrada necesarios en un archivo de almacenamiento.

importante

Si bien su script K6 puede definir la simultaneidad (usuarios virtuales), las etapas, los umbrales 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 de la aceleración y la duración de la espera durante la ejecución de la prueba.

Pruebas de langostas

La solución es compatible con las pruebas basadas en el marco Locust. Puede cargar el archivo de prueba de Locust junto con los archivos de entrada necesarios en un archivo de almacenamiento.

importante

Si bien su script de Locust puede definir la simultaneidad (número de usuarios), la velocidad de aparició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 de la aceleración y la duración de la espera durante la ejecución de la prueba.

Programar pruebas

La solución ofrece tres opciones de temporización de ejecución para ejecutar pruebas de carga:

  • Ejecutar ahora: ejecuta la prueba de carga inmediatamente después de la creación

  • Ejecutar una vez: ejecute la prueba en una fecha y hora específicas en el futuro

  • Ejecute según un cronograma: cree pruebas recurrentes utilizando expresiones cron para definir el cronograma

Al seleccionar Ejecutar una vez, se especifica el tiempo de ejecución en formato de 24 horas y la fecha de ejecución en la que debe empezar a ejecutarse la prueba de carga.

Al seleccionar Ejecutar según una programación, puede introducir manualmente una expresión cron o seleccionar uno de los patrones cron más comunes (por ejemplo, cada hora, todos los días a una hora específica, los días de la semana o todos los meses). La expresión cron utiliza un formato de programación detallado con campos para los minutos, las horas, el día del mes, el mes, el día de la semana y el año. También debe especificar una fecha de caducidad, que defina cuándo debe dejar de ejecutarse la prueba programada. Para obtener más información sobre cómo funciona la programación, consulte la sección Flujo de trabajo de programación de pruebas de esta guía.

nota
  • Duración de la prueba: tenga en cuenta la duración total de las pruebas al programarlas. Por ejemplo, una prueba con un tiempo de preparación de 10 minutos y un tiempo de espera de 40 minutos tardará aproximadamente 80 minutos en completarse.

  • Intervalo mínimo: asegúrese de que el intervalo entre las pruebas programadas sea superior a la duración estimada de la prueba. Por ejemplo, si la prueba dura unos 80 minutos, prográmela para que no se ejecute con más frecuencia que cada 3 horas.

  • Limitación horaria: el sistema no permite programar las pruebas con una diferencia de solo una hora, incluso si la duración estimada de la prueba es inferior a una hora.

Pruebas simultáneas

Esta solución crea un CloudWatch panel de Amazon para cada prueba que muestra el resultado combinado de todas las tareas que se ejecutan en el clúster de Amazon ECS en tiempo real. El CloudWatch panel muestra el tiempo medio de respuesta, el número de usuarios simultáneos, el número de solicitudes satisfactorias y el número de solicitudes fallidas. La solución agrega cada métrica por segundo y actualiza el panel cada minuto.

Administración de usuarios

Durante la configuración inicial, debe proporcionar un nombre de usuario y una dirección de correo electrónico que Amazon Cognito utiliza para concederle acceso a la consola web de la solución. La consola no proporciona administración de usuarios. Para añadir usuarios adicionales, debe utilizar la consola de Amazon Cognito. Para obtener más información, consulte Administración de usuarios en grupos de usuarios en la Guía para desarrolladores de Amazon Cognito.

Para migrar los usuarios existentes a los grupos de usuarios de Amazon Cognito, consulte el blog de AWS Approaches para migrar usuarios a los grupos de usuarios de Amazon Cognito.

Implementación regional

Esta solución utiliza Amazon Cognito, que solo está disponible en regiones específicas de AWS. Por lo tanto, debe implementar esta solución en una región en la que Amazon Cognito esté disponible. Para obtener la disponibilidad de servicios más reciente por región, consulte la lista de servicios regionales de AWS.