Compartir vía


Configuración de Azure Load Testing para carga a gran escala

En este artículo, aprenderá a configurar una prueba de carga para gran escala con Azure Load Testing. Azure Load Testing abstrae la complejidad de aprovisionar la infraestructura para simular el tráfico a gran escala. Para escalar horizontalmente una prueba de carga, puede configurar el número de instancias paralelas del motor de pruebas. Para lograr una distribución de carga óptima, puede supervisar las métricas de estado de la instancia de prueba en el panel de Azure Load Testing.

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 Azure Load Testing existente. Si necesita crear un recurso de Azure Load Testing, consulte el inicio rápido Creación y ejecución de una prueba de carga.

Configurar los parámetros de carga para una prueba de carga

Para simular el tráfico de usuario de la aplicación, puede configurar el modelo de carga y el número de usuarios virtuales para los que desea simular la carga. Al ejecutar la prueba de carga en muchas instancias paralelas del motor de pruebas, Azure Load Testing puede escalar horizontalmente el número de usuarios virtuales que simulan el tráfico a la aplicación. El modelo de carga determina cómo se distribuye la carga durante la prueba de carga. Algunos ejemplos de modelos de carga son carga lineal, escalonada o pico.

Según el tipo de prueba de carga, basada en direcciones URL o basada en JMeter, tiene diferentes opciones para configurar la carga de destino y el patrón de carga. En la tabla siguiente se muestran las diferencias entre los dos tipos de prueba.

Tipo de prueba Número de usuarios virtuales Modelo de carga
Basada en dirección URL (básica) Especifique el número de usuarios virtuales de destino en la configuración de prueba de carga. Modelo de carga lineal, basado en el tiempo de aumento y el número de usuarios virtuales.
Basada en dirección URL (avanzada) Especifique el número de motores de pruebas y el número de usuarios virtuales por instancia en la configuración de prueba de carga. Configure el modelo de carga (lineal, por pasos, pico).
Basada en JMeter Especifique el número de motores de pruebas en la configuración de prueba de carga. Especifique el número de usuarios virtuales en el script de prueba. Configure el modelo de carga en el script de prueba.

Configuración de los parámetros de carga para pruebas basadas en direcciones URL

Para especificar los parámetros de carga de una prueba de carga basada en direcciones URL:

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

  2. En el panel de navegación izquierdo, seleccione Pruebas para ver todas las pruebas.

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

    Captura de pantalla que muestra la lista de pruebas de carga y el botón

    Como alternativa, también puede editar la configuración de pruebas desde la página de detalles de la prueba. Para ello, seleccione Configurar y,a continuación, seleccione Probar.

  4. En la página Datos básicos, asegúrese de seleccionar Habilitar la configuración avanzada.

  5. En la página Editar prueba, seleccione la pestaña Carga.

    En el caso de las pruebas basadas en direcciones URL, puede configurar el número de instancias paralelas del motor de pruebas y el patrón de carga.

  6. Use el control deslizante de instancias del motor para actualizar el número de instancias paralelas del motor de pruebas. Como alternativa, escriba el valor de destino en el cuadro de entrada.

    Captura de pantalla que muestra la pestaña

  7. Seleccione el valor Patrón de carga de la lista.

    Para cada patrón, rellene los valores de configuración correspondientes. El gráfico proporciona una representación visual del patrón de carga y sus parámetros de configuración.

    Captura de pantalla de la pestaña

Configuración de parámetros de carga para pruebas basadas en JMeter

Para especificar los parámetros de carga de una prueba de carga basada en JMeter:

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

  2. En el panel de navegación izquierdo, seleccione Pruebas para ver todas las pruebas.

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

    Captura de pantalla que muestra la lista de pruebas de carga y el botón

    Como alternativa, también puede editar la configuración de pruebas desde la página de detalles de la prueba. Para ello, seleccione Configurar y,a continuación, seleccione Probar.

  4. En la página Editar prueba, seleccione la pestaña Cargar. Use el control deslizante Instancias del motor para actualizar el número de instancias del motor de prueba o escriba el valor directamente en el cuadro de entrada.

    Captura de pantalla que muestra la pestaña

  5. Seleccione Aplicar para modificar la prueba y usar la nueva configuración cuando vuelva a ejecutarla.

Supervisión de métricas de la instancia del motor

Para asegurarse de que las propias instancias del motor de prueba no son un cuello de botella de rendimiento, puede supervisar métricas de recursos de la instancia del motor de prueba. Un uso elevado de recursos para una instancia de prueba podría influir negativamente en los resultados de la prueba de carga.

Azure Load Testing notifica cuatro métricas de recursos para cada instancia:

  • Porcentaje de CPU.
  • Porcentaje de memoria.
  • Bytes de red por segundo.
  • Número de usuarios virtuales.

Una instancia del motor de prueba se considera correcta si el porcentaje medio de CPU o porcentaje de memoria durante la serie de pruebas permanece por debajo del 75 %.

Para ver las métricas de recursos del motor:

  1. Vaya al recurso Load Testing. En el panel izquierdo, seleccione Pruebas para ver la lista de pruebas de carga.

  2. En la lista, seleccione la prueba de carga para ver la lista de series de pruebas.

  3. En la lista de series de pruebas, seleccione su serie de pruebas.

  4. En el panel de serie de pruebas, seleccione el estado del motor para ver las métricas de recursos del motor.

    Opcionalmente, seleccione una instancia del motor de prueba específica mediante los controles de filtros.

Captura de pantalla en la que se muestran las métricas de estado del motor de carga en el panel de serie de pruebas.

Solución de problemas de instancias del motor incorrectas

Si una o varias instancias muestran un uso elevado de recursos, podría afectar a los resultados de la prueba. Para resolver la incidencia, pruebe uno o varios de los pasos siguientes:

  • Reduzca el número de subprocesos (usuarios virtuales) por motor de prueba. Para lograr un número objetivo de usuarios virtuales, puede aumentar el número de instancias del motor para la prueba de carga.

  • Asegúrese de que el script es eficaz, sin código redundante.

  • Si el estado de mantenimiento del motor es desconocido, vuelva a ejecutar la prueba.

Determinación de las solicitudes medias por segundo

El número máximo de solicitudes por segundo (RPS) que Azure Load Testing puede generar para la prueba de carga depende de la latencia de la aplicación y del número de usuarios virtuales (VU). La latencia de la aplicación es el tiempo total desde el envío de una solicitud de aplicación por parte del motor de prueba hasta la recepción de la respuesta. El recuento de usuarios virtuales es el número de solicitudes paralelas que realiza Azure Load Testing en un momento dado.

Para calcular el número de solicitudes por segundo, aplique la fórmula siguiente: RPS = (n.º de VU) * (1/latencia en segundos).

Por ejemplo, si la latencia de la aplicación es de 20 milisegundos (0,02 segundos) y está generando una carga de 2000 VUs, puede lograr unos 100 000 RPS (2000 * 1/0,02 s).

Para lograr un número objetivo de solicitudes por segundo, configure el número total de usuarios virtuales para la prueba de carga.

Nota:

Apache JMeter solo informa de las solicitudes que llegaron al servidor y regresaron, ya sea de forma correcta o no. Si Apache JMeter no puede conectarse a la aplicación, el número real de solicitudes por segundo será inferior al valor máximo. Las posibles causas podrían ser que el servidor está demasiado ocupado para controlar la solicitud o que falta un certificado TLS/SSL. Para diagnosticar problemas de conexión, puede comprobar el gráfico Errores en el panel de pruebas de carga y descargar los archivos de registro de pruebas de carga.

Instancias del motor de prueba y usuarios virtuales

En el script de Apache JMeter, puede especificar el número de subprocesos paralelos. Cada subproceso representa un usuario virtual que accede al punto de conexión de la aplicación. Se recomienda mantener el número de subprocesos de un script por debajo de un máximo de 250.

En Azure Load Testing, las instancias del motor de prueba son responsables de ejecutar el script de Apache JMeter. Todas las instancias del motor de prueba se ejecutan en paralelo. Puede configurar el número de instancias de una prueba de carga.

El número total de usuarios virtuales para una prueba de carga es: usuarios virtuales = (n.º de subprocesos) * (n.º de instancias del motor de prueba).

Para simular un número objetivo de usuarios virtuales, puede configurar los subprocesos paralelos del script de JMeter y las instancias del motor para la prueba de carga en consecuencia. Supervise las métricas del motor de prueba para optimizar el número de instancias.

Por ejemplo, para simular 1000 usuarios virtuales, establezca el número de subprocesos del script de Apache JMeter en 250. A continuación, configure la prueba de carga con cuatro instancias del motor de prueba (es decir, 4 x 250 subprocesos).

La ubicación del recurso de Azure Load Testing determina la ubicación de las instancias del motor de pruebas. Todas las instancias del motor de pruebas en un recurso de Load Testing se hospedan en la misma región de Azure.