Pruebas de carga frente a pruebas de estrés

Antes de explicar cómo determinar el punto de ruptura de la aplicación dentro de la plataforma LoadView, primero debemos describir las diferencias entre una prueba de carga y una prueba de esfuerzo. Mientras que los términos se utilizan a menudo indistintamente, estas pruebas buscan encontrar resultados diferentes.

Una prueba de carga es un tipo de prueba no funcional que se utiliza para validar el estado de un sistema mientras está bajo un nivel específico de solicitudes simultáneas, también conocidas como carga. El objetivo de una prueba de carga es demostrar que un sistema puede manejar un nivel de volumen esperado o aceptable con una interrupción o degradación mínima. Los factores que se utilizan para crear esta línea base de rendimiento son la velocidad de conexión, la latencia y los tiempos de descarga, entre otros. En general, las pruebas de carga se llevan a cabo para ayudar a predecir el rendimiento de la aplicación dentro de límites realistas, lo que ayuda a comprender cómo se ve afectado el rendimiento durante los eventos de carga máxima. Empujar el sistema más allá de estos umbrales puede hacer que su prueba de carga se convierta inadvertidamente en una prueba de esfuerzo.

Por otro lado, una prueba de esfuerzo está diseñada para empujar un sistema más allá del punto de degradación, a veces hasta el punto de un fallo completo. Empujar un sistema más allá del punto de degradación o fallo permite a los ingenieros ver cómo el sistema maneja la recuperación de este error y si los cambios en la capacidad del hardware son necesarios o no. Algunos de los factores que normalmente se supervisan durante una prueba de esfuerzo son E/S de disco, ancho de banda, uso de CPU, memoria y varias métricas de rendimiento de la base de datos.

Cálculo de la carga inicial

Determinar el punto de interrupción de una aplicación no suele ser sencillo como parece. Obviamente, si el servidor se bloquea, definitivamente ha encontrado ese punto, pero hay otros factores a tener en cuenta, como los tiempos de respuesta. En estos días, si una página web o aplicación no responde en solo unos segundos, los usuarios van a rebotar. Los tiempos de respuesta largos pueden ser una indicación de que la aplicación está a la baja. Otra indicación de que algo está roto es que comienza a recibir comentarios de los usuarios sobre problemas de la página web o su soporte o equipo de TI se notifica a través de tickets problemáticos.

En primer lugar, tenga en cuenta el número de servidores web en uso y el número de núcleos de CPU disponibles. Para este ejemplo, asumiremos que estamos trabajando con un servidor web de cuatro núcleos y usaremos un punto de partida de 25 usuarios simultáneos por núcleo de CPU, es decir, 100 usuarios simultáneos . Sin embargo, se recomienda comenzar con el número 50 por ciento inferior a un punto de partida calculado, por lo que funciona a 50 usuarios simultáneos. Desde este punto de partida, y dependiendo de los requisitos de rendimiento de la aplicación, puede aumentar la carga a 5x o 10 veces más.

Elegir una curva de carga: la plataforma LoadView

La plataforma LoadView ofrece a los usuarios la posibilidad de elegir entre tres opciones de curva de carga diferentes.

  • Cargar curva de paso. El tipo de prueba permite comparar los tiempos de respuesta bajo la carga operativa y bajo la carga de tráfico esperada.
  • Curva basada en objetivos. Esta prueba es útil cuando ya tiene un rendimiento predeterminado (objetivo de transacción) o el número de visitantes que espera en su sitio web durante un intervalo de tiempo fijo y desea asegurarse de que el sitio cumple los requisitos.
  • Curva ajustable dinámica. Puede usar este tipo para averiguar los límites de rendimiento del sitio o para planear su capacidad de servidor cambiando el tráfico de usuarios manualmente durante la prueba.

Para los fines de este ejemplo, estamos buscando determinar el punto de interrupción de una aplicación y no estamos trabajando con un objetivo de transacción o rendimiento predeterminado, por lo que no consideraremos la opción de curva basada en objetivos. Con la prueba de curva ajustable dinámica, puede aumentar el tráfico hasta encontrar el punto de ruptura, o con la curva de paso de carga, puede establecer las tasas de aceleración hasta que encuentre ese punto de ruptura.

Otro factor a tener en cuenta es el tiempo de ejecución de la transacción. Una vez creado el dispositivo de prueba de esfuerzo, este valor se puede encontrar en el informe Rendimiento después del proceso de validación. Por ejemplo, si el tiempo de ejecución de la transacción es de alrededor de 30 segundos, querrá mantener la carga por el doble de tiempo, asegurándose de que la transacción termine de ejecutarse, incluso si el tiempo de respuesta aumenta.

Encontrar el punto de ruptura de la aplicación

A continuación se muestran los resultados de una prueba de esfuerzo HTTP básica, utilizando una curva de paso de carga, con una carga inicial de 12 usuarios por minuto.

Como puede ver dentro de las áreas resaltadas en amarillo, hay un aumento en los tiempos de respuesta y el número de errores a medida que el número de usuarios se genera con el tiempo. Dependiendo de los requisitos de la aplicación, en cualquier punto donde se produzcan errores, esto podría considerarse el punto de ruptura. O instancias donde el tiempo de respuesta es de suma importancia, el punto de interrupción de la aplicación podría ser donde el tiempo de respuesta supera el umbral predefinido.

Para obtener más información acerca de la ejecución de pruebas de esfuerzo dentro de la plataforma LoadView, visite nuestra Base de conocimiento.