Prueba de carga de las aplicaciones de Azure App Service

En este artículo, obtendrá información sobre cómo se puede usar Azure Load Testing para probar aplicaciones hospedadas en Azure App Service. Azure App Service es un servicio totalmente administrado que permite compilar, implementar y escalar aplicaciones web y API en la nube.

Con Azure Load Testing, puede simular el tráfico real y a gran escala a la aplicación y los servicios. Aunque Azure App Service se puede escalar automáticamente, al ejecutar pruebas de carga con Azure Load Testing experimentará una mayor confiabilidad, rendimiento y optimización de costos y:

  • Asegúrese de que todos los componentes de la aplicación, no solo la aplicación web, pueden controlar la carga esperada.

  • Compruebe que la aplicación cumple los requisitos de rendimiento y estabilidad.

  • Use métricas y diagnósticos de recursos de aplicación para identificar cuellos de botella de rendimiento en toda la aplicación.

  • Evite la asignación excesiva de recursos informáticos y reduzca las ineficacias de costos.

  • Detecte las regresiones de rendimiento al principio mediante la integración de pruebas de carga en la canalización de CI/CD y la especificación de criterios de error de prueba.

Simulación de tráfico con pruebas de carga

Puede crear una prueba de carga para simular el tráfico a la aplicación en Azure App Service. Azure Load Testing proporciona dos opciones para crear una prueba de carga:

  • Creación de una prueba rápida basada en direcciones URL
  • Uso de un script de Apache JMeter (archivo JMX)

Después de crear y ejecutar una prueba de carga, puede supervisar las métricas de recursos de la aplicación web y todos los componentes de Azure dependientes para identificar problemas de rendimiento y escalabilidad.

Creación de una prueba de carga basada en URL

Se puede crear una prueba de carga basada en direcciones URL directamente desde la aplicación web de Azure App Service en Azure Portal. Al crear la prueba de carga, puede seleccionar una ranura de implementación específica y usar la dirección URL del punto de conexión rellenado previamente.

En la captura de pantalla siguiente se muestra cómo crear una prueba de carga basada en direcciones URL en Azure Portal.

Para empezar, cree una prueba de carga basada en direcciones URL para Azure App Service.

Cree una prueba de carga cargando un script de JMeter

Azure Load Testing proporciona compatibilidad de alta fidelidad con JMeter. Para crear una nueva prueba de carga, cargue un script de Apache JMeter. Puede usar este enfoque en los escenarios siguientes:

  • Probar varias páginas o puntos de conexión en una sola prueba
  • Prueba de puntos de conexión autenticados
  • Pasar parámetros a la prueba de carga, como variables de entorno o secretos
  • Probar puntos de conexión no basados en HTTP, como conexiones de base de datos
  • Configuración de patillas de carga más avanzadas
  • Reutilización de scripts JMeter existentes

Empiece a crear una prueba de carga cargando un script de JMeter.

Si creó anteriormente una prueba basada en direcciones URL, Azure Load Testing genera un script de prueba de JMeter. Puede descargar este script de prueba generado, modificarlo o ampliarlo y, a continuación, volver a cargar el script.

Supervise las aplicaciones para detectar cuellos de botella y problemas de aprovisionamiento

Durante una prueba de carga, Azure Load Testing recopila métricas sobre la serie de pruebas:

  • Métricas del lado cliente: métricas del motor de prueba, como el tiempo de respuesta de un extremo a otro, el número de solicitudes por segundo o el porcentaje de errores. Estas métricas proporcionan una indicación general de si la aplicación puede admitir la carga de usuario simulada.

  • Métricas del lado servidor: métricas de recursos de los componentes de la aplicación de Azure, como porcentaje de CPU del plan de App Service, códigos de respuesta HTTP o uso de recursos de base de datos.

Use el panel de Azure Load Testing para analizar las métricas de ejecución de pruebas e identificar los cuellos de botella de rendimiento en la aplicación o averiguar si ha aprovisionado demasiado algunos recursos de proceso. Por ejemplo, podría evaluar si las instancias del plan de servicio tienen un tamaño adecuado para la carga de trabajo.

Captura de pantalla que muestra el panel de los resultados de la prueba de carga en Azure Portal.

Obtenga más información sobre cómo supervisar las métricas del lado servidor en Azure Load Testing.

En el caso de las aplicaciones hospedadas en Azure App Service, puede usar diagnósticos de App Service para obtener información adicional sobre el rendimiento y el estado de la aplicación. Al agregar un componente de aplicación de App Service a la configuración de prueba de carga, el panel de pruebas de carga proporciona un vínculo directo al panel de diagnósticos de App Service para el recurso de App Service.

Captura de pantalla que muestra la sección

Personalización de los criterios de error de la prueba de carga

Los criterios de error de prueba permiten configurar condiciones para las métricas del lado cliente de prueba de carga. Si una serie de pruebas de carga no cumple estas condiciones, se considera que se produce un error en la prueba. Empiece a configurar criterios de error para la prueba de carga.

Por ejemplo, puede especificar que el tiempo medio de respuesta de las solicitudes o que el porcentaje de solicitudes con error esté por encima de un umbral determinado. Puede agregar criterios de error a la prueba de carga en cualquier momento, independientemente de si se trata de una prueba rápida o si cargó un script de JMeter.

Al ejecutar pruebas de carga como parte de la canalización de CI/CD, puede usar criterios de error de prueba para identificar las regresiones de rendimiento con una compilación de aplicación.

Captura de pantalla que muestra la página criterios de prueba para una prueba de carga en Azure Portal.

Uso de parámetros para probar entre ranuras de implementación

Al configurar una prueba de carga, puede especificar parámetros para pasar variables de entorno o secretos al script de prueba de carga. Estos parámetros hacen que el script de prueba sea reutilizable y reconfigurable. Aprenda a usar parámetros para pasar variables de entorno a una prueba de carga.

Un ejemplo es usar un parámetro como una variable de entorno para evitar almacenar la dirección URL del punto de conexión de la aplicación en el script de prueba. También puede usar variables de entorno para pasar otras opciones de configuración al script de prueba de JMeter. Por ejemplo, puede pasar el número de usuarios virtuales o el nombre de archivo de un archivo de entrada CSV al script de prueba.

Otro uso de parámetros es cuando desea reutilizar el script de prueba en varias ranuras de implementación de Azure App Service. Las ranuras de implementación son aplicaciones activas con sus propios nombres de host y direcciones URL independientes. Use un parámetro para el punto de conexión de la aplicación y, a continuación, puede configurar entornos de ensayo para la aplicación.

Captura de pantalla que muestra la página Parámetros de una prueba rápida en Azure Portal en la que se resaltan los parámetros de la dirección URL de destino.

Pasos siguientes

Obtenga información sobre cómo: