Definición de criterios de error para pruebas de carga mediante Azure Load Testing

En este artículo, aprenderá a definir criterios de error o criterios de detención automática para las pruebas de carga con Azure Load Testing. Los criterios de error permiten definir las expectativas de rendimiento y calidad de la aplicación bajo carga. Azure Load Testing admite varias métricas de cliente y servidor para definir criterios de error, como la tasa de errores o el porcentaje de CPU de un recurso de Azure. Los criterios de detención automática le permiten detener automáticamente la prueba de carga cuando la tasa de errores supera un umbral determinado.

Requisitos previos

  • Una cuenta de Azure con una suscripción activa. Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
  • Un recurso de prueba de carga de Azure. Si necesita crear un recurso de Azure Load Testing, consulte la guía de inicio rápido Creación y ejecución de una prueba de carga.

Criterios de error de carga de prueba

Los criterios de error de la prueba de carga son condiciones para las métricas que la prueba debe cumplir. Los criterios de prueba se definen en el nivel de prueba de carga en Azure Load Testing. Una prueba de carga puede tener uno o varios criterios de prueba. Cuando al menos uno de los criterios de prueba se evalúa como true, la prueba de carga obtiene el estado error.

Puede definir un máximo de 50 criterios de prueba para una prueba de carga. Si hay varios criterios para la misma métrica, se usa el criterio con el valor de umbral más bajo.

Estructura de criterios de error para las métricas de cliente

El formato de los criterios de error en Azure Load Testing sigue el de una instrucción condicional para una métrica admitida. Por ejemplo, asegúrese de que el número medio de solicitudes por segundo es mayor que 500.

Para métricas del lado cliente, puede definir criterios de prueba en dos niveles. Una prueba de carga puede combinar criterios en los distintos niveles.

  • En el nivel de prueba de carga. Por ejemplo, para asegurarse de que el porcentaje total de errores no supere un umbral. La estructura de los criterios es: Aggregate_function (client_metric) condition threshold.
  • En el nivel de solicitud de JMeter (muestreador de JMeter). Por ejemplo, podría especificar un umbral de tiempo de respuesta de la solicitud de getProducts, pero omitir el tiempo de respuesta del inicio de sesión solicitud. La estructura de los criterios es: Request: Aggregate_function (client_metric) condition threshold.

En la tabla siguiente se describen los diferentes componentes:

Parámetro Descripción
Client metric Obligatorio. La métrica de cliente a la que se deben aplicar los criterios.
Aggregate function Necesario. Función de agregado que se va a aplicar en la métrica de cliente.
Condition Necesario. Operador de comparación, como greater than o less than.
Threshold Necesario. Valor numérico que se va a comparar con la métrica de cliente.
Request Opcional. Nombre del sampler en el script JMeter al que se aplica el criterio. Si no especifica un nombre de solicitud, el criterio se aplica al agregado de todas las solicitudes del script.
No incluya ningún dato personal en el nombre del muestreador en el script de JMeter. Los nombres de los muestreadores aparecen en el panel de resultados de Azure Load Testing.

Métricas de cliente admitidas para criterios de error

Azure Load Testing admite las siguientes métricas de cliente:

Métrica Aggregate, función Umbral Condición Descripción
response_time_ms avg (promedio)
min (mínima)
max (máxima)
pxx (percentil), xx puede ser 50, 75, 90, 95, 96, 97, 98, 99, 999 y 9999
Valor entero que representa el número de milisegundos (ms). > (mayor que)
< (menor que)
Tiempo de respuesta o tiempo transcurrido, en milisegundos. Obtenga más información sobre el tiempo transcurrido en la documentación de Apache JMeter.
latency avg (promedio)
min (mínima)
max (máxima)
pxx (percentil), xx puede ser 50, 90, 95, 99
Valor entero que representa el número de milisegundos (ms). > (mayor que)
< (menor que)
Latencia, en milisegundos. Obtenga más información sobre la latencia en la documentación de Apache JMeter.
error percentage Valores numéricos en el intervalo de 0 a 100, que representan un porcentaje. > (mayor que) Porcentaje de solicitudes con error.
requests_per_sec avg (promedio) Valor numérico con hasta dos posiciones decimales. > (mayor que)
< (menor que)
Número de solicitudes por segundo
requests count Valor entero. > (mayor que)
< (menor que)
Número total de solicitudes.

Definición de criterios de error de la prueba de carga para métricas de cliente

En esta sección, configurará los criterios de prueba para métrica de cliente para una prueba de carga en Azure Portal.

  1. En Azure Portal, vaya al recurso de Azure Load Testing.

  2. En el panel izquierdo, seleccione Pruebas para ver la lista de pruebas de carga.

  3. Seleccione la prueba de carga en la lista y, a continuación, seleccione Editar.

    Captura de pantalla de la lista de pruebas de un recurso de prueba de carga de Azure en Azure Portal, en la que se resalta el botón

  4. En el panel Criterios de la prueba, rellene los valores Métrica, Función de agregado, Condición y Umbral para la prueba.

    Captura de pantalla del panel

    Opcionalmente, escriba la información para Nombre de solicitud para agregar un criterio de prueba para una solicitud de JMeter específica. El valor debe coincidir con el nombre del muestreador de JMeter en el archivo JMX.

    Captura de pantalla de la interfaz de usuario de JMeter, donde se resalta el nombre de la solicitud.

  5. Seleccione Aplicar para guardar los cambios.

    Cuando ahora ejecuta la prueba de carga, Azure Load Testing usa los criterios de prueba para determinar el estado de la ejecución de la serie de pruebas.

  6. Ejecute la prueba y vea el estado en el panel de pruebas de carga.

    El panel muestra cada uno de los criterios de prueba y su estado. Se produce un error en el estado general de la prueba si se ha cumplido al menos un criterio.

    Captura de pantalla que muestra los criterios de prueba en el panel de prueba de carga.

Componente de aplicación de acceso para los criterios de prueba en las métricas del servidor

Al establecer criterios de error en una métrica del componente de la aplicación, el recurso de prueba de carga usa una identidad administrada para acceder a ese componente. Después de configurar la identidad administrada, debe conceder a la identidad administrada los permisos de recursos de prueba de carga para leer estos valores desde el componente de aplicación.

Para conceder permisos de recursos de prueba de carga de Azure para leer las métricas del componente de aplicación:

  1. En Azure Portal, vaya al componente de aplicación.

  2. En el panel izquierdo, seleccione Control de acceso (IAM), después seleccione+Agregar y después seleccione Agregar asignación de roles.

    Captura de pantalla del control de acceso (IAM) en el componente de aplicación en el que se van a establecer los criterios de error.

  3. En la pestaña Rol, en roles de funciones de trabajo, busque lector de supervisión o colaborador de supervisión.

  4. En la pestaña Miembros, en la sección Asignar acceso a, seleccione Identidad administrada.

  5. Haga clic en Seleccionar miembros, busque y seleccione la identidad administrada para el recurso de prueba de carga y, a continuación, seleccione Siguiente. Si usa una identidad administrada asignada por el sistema, el nombre de la identidad administrada coincide con el del recurso de prueba de carga de Azure.

  6. Seleccione Revisión y asignación para asignar la identidad al permiso.

    Captura de pantalla de la asignación de los permisos para leer las métricas al recurso de prueba de carga.

Cuando se ejecuta la prueba, la identidad administrada asociada al recurso de prueba de carga ahora puede leer la métrica para la prueba de carga desde el componente de aplicación.

Definición de criterios de error de la prueba de carga para métricas de servidor

Importante

Azure Load Testing no admite la configuración de criterios de error en las métricas del lado servidor desde Azure Pipelines/Acciones de Github.

En esta sección, configurará los criterios de error de prueba en las métricas del lado del servidor para una prueba de carga en Azure Portal.

  1. En Azure Portal, vaya al recurso de Azure Load Testing.

  2. Seleccione Crear prueba.

  3. En la pestaña Supervisión, configure los componentes de la aplicación que quiere supervisar durante la prueba.

  4. Configure la identidad de referencia de métricas. La identidad puede ser la identidad asignada por el sistema del recurso de prueba de carga o una de las identidades asignadas por el usuario. Asegúrese de usar la misma identidad a la que ha concedido acceso anteriormente.

    Captura de pantalla de la configuración de la identidad de referencia de métricas.

  5. En el panel Criterios de la prueba, rellene los valores de id. de recurso, espacio de nombres, métrica, función de agregado, condición y umbral para la prueba. Solo puede establecer criterios de error para esos recursos o componentes de la aplicación que supervise durante la prueba.

    Captura de pantalla de la configuración de criterios de error en las métricas del servidor.

  6. Seleccione Aplicar para guardar los cambios. Cuando ahora ejecuta la prueba de carga, Azure Load Testing usa los criterios de prueba para determinar el estado de la ejecución de la serie de pruebas.

  7. Ejecute la prueba y vea el estado en el panel de pruebas de carga. El panel muestra cada uno de los criterios de prueba y su estado. Se produce un error en el estado general de la prueba si se ha cumplido al menos un criterio.

    Captura de pantalla del panel que muestra los resultados de las pruebas.

Configuración de detención automática

Azure Load Testing detiene automáticamente una prueba de carga si el porcentaje de error supera un umbral determinado para un período de tiempo determinado. La detención automática es una protección contra errores de pruebas, lo supone mayores costos, por ejemplo, debido a que la dirección URL de un punto de conexión no se ha configurado correctamente.

En la configuración de pruebas de carga, puede habilitar o deshabilitar la funcionalidad de detención automática y configurar el umbral de porcentaje de error y el período de tiempo. De manera predeterminada, Azure Load Testing detiene automáticamente una prueba de carga que tiene un porcentaje de error que es al menos un 90 % durante cualquier período de tiempo de 60 segundos.

Puede usar la funcionalidad de detención automática de Azure Load Testing en combinación con una cliente de escucha de AutoStop en el script de JMeter. La prueba de carga se detiene automáticamente cuando se cumple uno de los criterios de la configuración de detención automática o el cliente de escucha de JMeter AutoStop.

Precaución

Si deshabilita la detención automática de la prueba de carga, puede incurrir en costos incluso cuando la prueba de carga está configurada incorrectamente.

Para configurar la detención automática de la prueba de carga en Azure Portal:

  1. En Azure Portal, vaya al recurso de Azure Load Testing.

  2. En el panel izquierdo, seleccione Pruebas para ver la lista de pruebas de carga.

  3. Seleccione la prueba de carga en la lista y, a continuación, seleccione Editar. Como alternativa, seleccione Crear>Carga de un script de JMeter para crear una nueva prueba.

  4. Vaya a la pestañaCriterios de prueba para configurar la funcionalidad de detención automática.

    • Habilite o deshabilite la detención automática de la prueba de carga mediante el controlDetención automática de pruebas.

    • Si habilita la detención automática, puede rellenar los campos Porcentaje de error y Período de tiempo. Especifique el período de tiempo en segundos.

      Captura de pantalla del panel

  5. Seleccione Aplicar, o Revisar y crear si va a crear una nueva prueba de carga para guardar los cambios.

Pasos siguientes