Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo aprenderá a optimizar Azure Functions para rendimiento y costes mediante Azure Load Testing. El plan de consumo flexible de Azure Functions proporciona flexibilidad y características personalizadas que incluyen redes privadas, características rápidas y de gran escalado horizontal, y selección de tamaño de memoria de instancia basada en un modelo sin servidor.
La herramienta de optimizador de rendimiento de Azure Load Testing le ayuda a decidir qué configuración es adecuada para la aplicación mediante la ejecución de pruebas de carga entre distintas configuraciones de Functions. La herramienta le ayuda a comprender las implicaciones de rendimiento y coste de diferentes configuraciones para ayudarle a tomar decisiones más fundamentadas.
El optimizador de rendimiento habilita las siguientes funcionalidades:
- Pruebas simultáneas: experiencia en contexto donde puede crear y ejecutar pruebas rápidamente especificando diferentes configuraciones de simultaneidad HTTP y memoria con cargas esperadas.
- Comparación en paralelo: evalúe las métricas de rendimiento de los resultados de pruebas de carga a través de configuraciones de escala y simultaneidad que le ayudarán a elegir la configuración correcta.
- Métricas: ajuste de tamaño correcto en función de las métricas de rendimiento para optimizar los costes.
Prerrequisitos
Una cuenta de Azure con una suscripción activa. Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
Una aplicación de funciones en el plan de consumo flexible con al menos una función con un desencadenador HTTP. Si tiene que crear una aplicación de funciones, consulte Creación y administración de aplicaciones de funciones en el plan de consumo flexible.
Para ejecutar un perfil de prueba, la cuenta de Azure debe tener los permisos siguientes en la aplicación:
- Microsoft.Web/sites/read
- Microsoft.Web/sites/write
- Microsoft.Web/sites/slots/read
- Microsoft.Web/sites/slots/write De forma predeterminada, el rol de Colaborador del sitio web ya tiene estos permisos.
Ejecución del optimizador de rendimiento en Azure Functions
El optimizador de rendimiento permite probar diferentes configuraciones para ayudarle a encontrar el equilibrio adecuado entre el rendimiento y el coste. Por ejemplo, puede probar métricas como el tamaño de instancia y los importes de simultaneidad HTTP para la aplicación de Functions. El optimizador de rendimiento usa Azure Load Testing para ayudarle a identificar la configuración óptima de la aplicación para el rendimiento y la escalabilidad. Puede ejecutar el optimizador de rendimiento en las funciones con desencadenadores HTTP. Una vez implementado el código en Azure Functions, siga estos pasos para ejecutar el optimizador.
Inicie sesión en Azure Portal.
Vaya a la aplicación de Functions hospedada en el plan de consumo flexible.
En la sección Rendimiento de la aplicación, seleccione Optimizador de rendimiento.
Si no tiene un recurso de Azure Load Testing en la suscripción, cree uno seleccionando Crear recurso de Load Testing.
Creación de un perfil de prueba
Un perfil de prueba describe la configuración de la aplicación de funciones, los detalles de la solicitud y la configuración de carga. Para cada configuración de la aplicación de Functions, se ejecuta una prueba de carga con la carga especificada. Siga estos pasos para crear un perfil de prueba:
Seleccione Crear perfil de prueba para crear un nuevo perfil de prueba.
En la pestaña Configuración del perfil, escriba primero los detalles de la prueba:
Campo Descripción Recurso de Load Testing Seleccione el recurso de prueba de carga. Nombre del perfil de prueba Escriba un nombre de perfil de prueba único. Descripción del perfil de prueba (Opcional) Escriba una descripción del perfil de prueba. Ejecutar prueba después de la creación Cuando se selecciona, el perfil de prueba se inicia automáticamente después de crear la prueba. En la sección Configuración de Functions, seleccione la configuración de aplicaciones de Functions que desea probar. Puede seleccionar el tamaño de memoria de instancia y la simultaneidad HTTP. Puede seleccionar hasta diez combinaciones de memoria y simultaneidad.
Nota:
Una vez iniciada la ejecución del perfil de prueba, los cambios de configuración se realizan directamente en la aplicación. La aplicación Function se reiniciará para cada combinación especificada y se ejecutará una prueba de carga en la aplicación.
En la sección Detalles de la solicitud, escriba los detalles de la solicitud de la aplicación de funciones. Puede especificar el método de solicitud, la dirección URL y los encabezados.
Seleccione Agregar solicitud para agregar solicitudes HTTP a la prueba de carga.
En la página Agregar solicitud, escriba los detalles de la solicitud:
Campo Descripción Nombre de solicitud Nombre único dentro de la prueba de carga para identificar la solicitud. Puede usar este nombre de solicitud al definir criterios de prueba. Nombre de función Seleccione la función que quiere probar. Clave Seleccione la clave necesaria para acceder a la función. HTTP method (Método HTTP) Seleccione un método HTTP en la lista. Azure Load Testing admite GET, POST, PUT, DELETE, PATCH, HEAD y OPTIONS. Parámetros de consulta (Opcional) Escriba los parámetros de cadena de consulta que se van a anexar a la dirección URL. Encabezados (Opcional) Escriba los encabezados HTTP que se van a incluir en la solicitud HTTP. Cuerpo (Opcional) En función del método HTTP, puede especificar el contenido del cuerpo HTTP. Azure Load Testing admite los siguientes formatos: datos sin procesar, vista JSON, JavaScript, HTML y XML. Seleccione la pestaña Configuración de carga para configurar los parámetros de carga de la prueba de carga.
Campo Descripción Instancias de motor Escriba el número de instancias del motor de pruebas de carga. La prueba de carga se ejecuta en paralelo en todas las instancias del motor. Modelo de carga Seleccione el patrón de carga (lineal, paso, pico) para aumentar el número de usuarios virtuales de destino. Usuarios simultáneos por motor Escriba el número de usuarios virtuales que se van a simular en cada uno de los motores de prueba. El número total de usuarios virtuales para la prueba de carga es: número de motores de prueba * número de usuarios por motor. Duración de la prueba (minutos) Escriba la duración de la prueba de carga en minutos. Tiempo de actividad (minutos) Escriba el tiempo de actividad de la prueba de carga en minutos. El tiempo de aumento es el tiempo necesario para alcanzar el número de usuarios virtuales de destino. Opcionalmente, configure las opciones de red si la aplicación Functions no es accesible públicamente.
Obtenga más información sobre las pruebas de carga de puntos de conexión hospedados de forma privada.
Seleccione Revisar y crear para revisar la configuración del perfil de prueba.
Seleccione Crear para crear el perfil de prueba. Azure Load Testing ahora crea el perfil de prueba.
Si ya había seleccionado Ejecutar prueba después de la creación, el perfil de prueba se inicia automáticamente.
La aplicación de Functions se revierte a la configuración original una vez completada la ejecución del perfil de prueba.
Vista de resultados
Una vez completada la ejecución del perfil de prueba, puede ver los resultados en Azure Portal. La ejecución del perfil de prueba contiene las ejecuciones de pruebas de carga para cada configuración de aplicación de Functions. Los resultados incluyen métricas de rendimiento, como el tiempo de respuesta, el rendimiento y la tasa de errores para cada configuración de la aplicación de funciones. Puede comparar las métricas de rendimiento en distintas configuraciones y elegir la configuración adecuada para la aplicación. Una vez que haya decidido la configuración óptima, seleccione Aplicar para aplicar la configuración de escala y simultaneidad a la aplicación de Functions.
Pasos siguientes
- Más información acerca de la prueba de carga de Azure Functions.
- Aprenda a supervisar métricas de aplicación del lado servidor.