Las pruebas de rendimiento siempre han sido uno de los pasos realizados antes de que una aplicación o sitio esté listo para el público en general. Una aplicación estable y fluida es el hito fundamental y imprescindible para una gran experiencia de consumo. Pero a medida que el negocio se expande y el tráfico en la aplicación aumenta, tendemos a ver la degradación de la experiencia del usuario con múltiples errores, tiempos lentos de carga de páginas y aplicaciones, y lo peor de todo, bloqueos completos. Para asegurarnos de que su página web o aplicación se comporte bien durante los tiempos de alto tráfico, necesitamos una solución de prueba de carga extensa que pueda simular escenarios del mundo real para que podamos comprender mejor los cuellos de botella de rendimiento y realizar las mejoras adecuadas.

Antes de comenzar a escribir scripts de prueba de carga, un análisis del patrón de usuario y el uso de la aplicación es un paso crítico en el proceso de planificación de pruebas de carga. Esto nos ayuda a entender dónde existen los tiempos de tráfico normales y picos, lo que finalmente ayuda cuando llega el momento de configurar la velocidad de aumento adecuada y la duración de los usuarios simultáneos durante la prueba de carga. Una prueba de carga realizada con una comprensión aguda de estos patrones puede ayudar a obtener resultados más precisos, lo que más tarde ayuda en optimizaciones precisas al revisar los resultados de las pruebas.

Cada aplicación tiene diferentes patrones de usuario y uso de aplicaciones, por lo que una comprensión exhaustiva de sus patrones de tráfico típicos le permite comprender más adecuadamente cómo los usuarios simultáneos se acercan y utilizan la aplicación nos ayuda a definir una estrategia de rampa hacia arriba y rampa hacia abajo. Antes de avanzar, entendamos lo que queremos decir con aumentar y bajar.

¿Qué es Ramp Up y Ramp Down?

La velocidad de aumento durante la prueba de carga es la velocidad a la que los nuevos usuarios simultáneos intentan acceder a la aplicación. Por lo general, en tiempo real cada aplicación tiene sus propias horas pico donde los usuarios simultáneos tienden a aumentar lentamente antes del inicio de la hora punta. La velocidad a la que se toca el tráfico máximo en la serie de tiempo se conoce como aumento de la velocidad de la prueba de carga. Nuestro objetivo siempre debe ser igualar la velocidad de aumento con lo más cerca del patrón de usuario.

Del mismo modo, rampa hacia abajo durante la prueba de carga significa durante el final de las horas pico, tendemos a ver una caída en los usuarios simultáneos, rampa hacia abajo sería la velocidad en caída de los usuarios en la gráfica de serie temporal. Debemos usar la misma estrategia para probar la carga de nuestras aplicaciones para obtener los mejores resultados.

¿Qué es una prueba de carga de línea plana?

Prueba de carga de línea plana significa iniciar la prueba de carga con un conjunto de usuarios simultáneos y a bordo de todos los usuarios a la vez, a continuación, mantener el número de usuarios simultáneos durante algún tiempo y, posteriormente, finalizar la prueba con cero usuarios simultáneos. Las pruebas de línea plana pueden ayudar a encontrar cómo se comporta el sistema cuando la aplicación se ha puesto bajo carga repentina. Pero es posible que las métricas como el tiempo de respuesta, la utilización de memoria y la utilización de la CPU no se muestren cerca de las métricas reales, ya que la utilización estaría en el lado más alto durante el tráfico repentino y la más baja con cero usuarios.

Beneficios de Ramp Up y Ramp Down

  • Los scripts de prueba imitan el patrón de usuario real y el comportamiento, lo que ayuda a comprender el comportamiento de la aplicación con un aumento de usuarios simultáneos a un ritmo constante.
  • Ramp up y ramp down nos ayuda a probar el escalado automático del servidor, ya que cuando el servidor ve las solicitudes están en una tendencia creciente, aumenta más servidores para administrar la carga.
  • Refleja el comportamiento casi en tiempo real de las métricas del servidor, como la utilización de la CPU, la utilización de la memoria, donde vemos un aumento en el consumo de CPU basado en el aumento de los usuarios simultáneos.
  • El tiempo de respuesta estará cerca de lo que vemos en producción, porque a medida que los usuarios simultáneos se incrementan a un ritmo constante, los servidores tenderán a generar más subprocesos libres y la distribución de tareas se hará mejor.

Mejores prácticas y estrategia de diseño de pruebas de carga

En nuestra aplicación, a medida que vemos usuarios simultáneos más distribuidos en diferentes momentos del día, podemos generar escenarios de prueba de carga similares y comprobar en qué etapa nuestra infraestructura comienza a comportarse mal. Esto nos ayudará a encontrar el punto de ruptura de la aplicación y nos ayudará a comprender la escalabilidad de la aplicación de antemano.

Podemos usar la estrategia de prueba de curva de carga que nos ayuda a aumentar el número simultáneo de usuarios gradualmente y aumentar los usuarios después de cada duración de tiempo especificada. Esta estrategia puede ayudarnos a comprender el comportamiento de la infraestructura y los cuellos de botella durante el pico de la curva de carga y compartir información clave, como qué componente específico de la arquitectura general es más propenso a romperse. Encontrar el cuello de botella con la curva de prueba de carga también puede mostrarnos si vemos algún efecto en cascada en otras partes de la arquitectura. Estos serán los hallazgos clave que pueden ayudar a optimizar nuestro sistema de aplicación general y pueden salvarnos del tiempo de inactividad de la producción y la experiencia del cliente.

Una vez que hayamos logrado la prueba de carga esperada usuarios simultáneos y nuestro sistema se ejecuta sin problemas a la carga deseada, debemos considerar continuar con pruebas de carga constante con esos usuarios simultáneos. Las pruebas con carga constante después de alcanzar el pico de curva de carga pueden ayudarnos a encontrar cualquier problema u optimizaciones relacionadas con la sincronización de subprocesos paralelos de la aplicación, el nuevo generador de subprocesos, lo que resulta en el tiempo de respuesta general de la aplicación. Puede haber un caso cuando un subproceso de aplicación mata, lo que retrasa el inicio de una nueva tarea. Una prueba de carga constante puede ayudar a encontrar esos problemas con facilidad.

Como hemos visto lo importante que es llevar a cabo pruebas de carga con la estrategia de prueba de carga adecuada, hay múltiples herramientas en el mercado que admiten un fácil aumento y rampa de control, así como la definición de la duración de la prueba. Vamos a profundizar en cómo LoadView proporciona a los usuarios un proceso de configuración y configuración de prueba fácil para que recibamos los mejores resultados de la ejecución de prueba.

Aumentar y aumentar las estrategias

Loadview, la solución de pruebas de carga basada en explorador, admite pruebas de carga de aplicaciones web, páginas web, API y medios de streaming. La solución proporciona una forma sencilla de configurar pruebas de carga en función de los requisitos de la prueba. Una vez que tengamos la aplicación bajo prueba lista, podemos crear un escenario de prueba y ejecutar nuestra prueba de carga con múltiples estrategias. LoadView proporciona opciones para ejecutar una variedad si las curvas de prueba de carga, sin embargo, al tratar con un número específico de usuarios simultáneos y ralentizar el número creciente durante un tiempo especificado con períodos de rampa y rampa específicos, la curva de paso de carga es la opción más adecuada para este escenario.

Podemos introducir usuarios simultáneos iniciales para iniciar y, a continuación, aumentar los usuarios mediante la acción Aumentar por, lo que aumenta el número de usuarios cada minuto para un intervalo de tiempo predefinido. Como alternativa, los usuarios pueden seleccionar la acción Bajar por, lo que disminuye el número de usuarios cada minuto. De forma similar, para lograr una carga constante, LoadView proporciona una opción, denominada acción Hold For, para mantener la prueba en ejecución con una cantidad específica de usuarios simultáneos deseados.

Una vez que haya configurado los pasos, la siguiente parte es configurar la carga y las regiones geográficas para ejecutar la prueba.

Tipos de carga de rampa

Como puede ver en la imagen de arriba, hay otras dos opciones de curva de carga que los usuarios de LoadView pueden seleccionar. Son la curva basada en objetivos y la curva ajustable dinámica. Cada uno tiene su funcionalidad y propósito específicos. Obtenga más información sobre estos tipos de curva de carga y cuándo usarlos. Lea el artículo Elegir el tipo correcto de curva de carga del artículo de Knowledge Base.

Conclusión: La importancia de aumentar y reducir la carga del usuario

Diseñar una estrategia y seguir el patrón de uso real de una aplicación puede ayudarnos a encontrar los problemas correctos en el momento adecuado utilizando herramientas como LoadView. Este análisis general y la prueba de carga pueden tener múltiples beneficios para nuestra aplicación y negocio. Entendemos hoy en día una de las estrategias de aceleración y aceleración más utilizadas y sus beneficios en el transcurso de este artículo. También entendimos, con la interacción basada en navegador en el escenario de prueba LoadView, y cómo podemos lograr y comparar nuestra aplicación para crecer inmensamente. Pruebe LoadView por sí mismo hoymismo.