fbpx

Pruebas de carga frente a pruebas de estrés

Pruebas de carga y estrés comparadas

Una prueba de carga, por definición, mide el rendimiento de un sistema con una carga esperada.

Por el contrario, una prueba de esfuerzo sobrecarga un sistema para encontrar el punto de ruptura.

Examen de las diferencias:

Pruebas de carga frente a estrés

 

stress performance testing Una prueba de carga es una prueba planificada para realizar un número especificado de solicitudes a un sistema con el fin de probar la funcionalidad del sistema bajo niveles específicos de solicitudes simultáneas. Una prueba de carga garantiza que un sistema web es capaz de controlar un volumen de tráfico esperado y, por lo tanto, a veces se denomina prueba de volumen. El objetivo de una prueba de carga es demostrar que un sistema puede controlar el volumen esperado con una degradación del rendimiento mínima a aceptable. Los evaluadores deben definir el umbral de degradación del rendimiento aceptable como un valor que se considera aceptable para el usuario final para que los usuarios no reboten desde el sitio.

Una prueba de esfuerzo es una prueba diseñada para aumentar el número de solicitudes simultáneas en un sistema más allá de un punto donde el rendimiento se degrada, posiblemente incluso hasta el punto de fallo completo. Cuando una prueba de carga se agotará en el número de usuarios simultáneos, una prueba de esfuerzo básica seguirá aumentando la carga en el sistema hasta que los recursos se sobrecarguen. Esto lleva al sistema a un estado de error potencial para ver cómo lo maneja el sistema y si el sistema puede realizar una recuperación correcta.

Dentro de estas definiciones de una prueba de carga y una prueba de esfuerzo, encontramos que ciertamente no son completamente independientes entre sí. A menudo, al ejecutar los límites superiores de una prueba de carga, puede terminar ejecutando efectivamente una prueba de esfuerzo en la que supere el sistema más allá de los límites de los recursos disponibles. En este momento, es posible que comience a ver errores en una prueba de carga idéntica a los errores que normalmente se ven al ejecutar una prueba de esfuerzo.

Cuándo elegir una prueba de carga o una prueba de esfuerzo

 

Una diferencia entre una prueba de carga y una prueba de esfuerzo es que puede insertar pausas en una prueba de carga para simular el tráfico de usuario real. Con una prueba de esfuerzo, puede ejecutar tantos usuarios simultáneos como sea posible para generar tráfico excesivo para una prueba de esfuerzo.

Los objetivos de una prueba de carga son muy diferentes a los objetivos de una prueba de esfuerzo. Se realiza una prueba de carga para garantizar que un sitio web o una aplicación web sea capaz de gestionar números específicos de usuarios a la vez. Las pruebas de carga se utilizan a menudo en el proceso de planificación de la capacidad, para garantizar que un sistema sea capaz de manejar el crecimiento a niveles especificados de tráfico simultáneo.

Una prueba de esfuerzo se utiliza para empujar específicamente un sistema más allá de su capacidad prevista para identificar componentes que comienzan a ralentizarse, identificar cuellos de botella en el sistema y sacar a la luz posibles puntos de falla.

Comúnmente utilizado para pruebas de carga y estrés:
Establecimiento de métricas de rendimiento de línea base

Las pruebas de carga se realizan normalmente como una serie de pasos en los que el sistema de pruebas inicia una cantidad de usuarios simultáneos que se sabe que son compatibles con la infraestructura. Esto establece un conjunto de líneas base de datos de rendimiento a los que hacer referencia a medida que aumenta el número de usuarios simultáneos a lo largo de la prueba. Esta prueba de línea base a veces se denomina pruebas de rendimiento. Una prueba de rendimiento puede ayudar a determinar una serie de puntos de referencia diferentes, como la velocidad media de conexión, la latencia media y el tiempo medio para descargar un archivo de un tamaño fijo y mucho más.

Una vez que se conocen los valores de rendimiento de línea base, el número de usuarios aumenta a un número que se espera de forma realista para visitar el sitio durante un período de muestra. La prueba a menudo se ejecutará en ese número estático de usuarios durante varios minutos con el fin de verificar la estabilidad del sitio web después de que el sistema se estabilice en el nuevo nivel de carga.

usuarios virtuales

Una diferencia entre establecer una métrica de rendimiento de línea base durante una prueba de carga y una prueba de esfuerzo es que la diferencia entre la línea de base y el rendimiento máximo ayudará a determinar si tiene los sistemas adecuados para manejar la carga máxima, mientras que durante una prueba de esfuerzo está más preocupado por el punto en el que el sistema se estresa y posiblemente incluso deja de funcionar correctamente.

Pruebas de carga o estrés para identificar cuellos de botella de la aplicación web

Las aplicaciones basadas en web normalmente se ejecutan en un explorador y cuando se programan correctamente, debido a su naturaleza asincrónica, pueden manejar muchos cientos o miles de usuarios simultáneos. Siempre que esté generando la carga esperada dentro de la capacidad del sistema, los tiempos de respuesta de la aplicación deben permanecer dentro de las directrices generadas. Si empuja el sistema más allá de estos límites, se mueve al reino de las pruebas de esfuerzo, lo que hace que la tensión en el sistema identifique los componentes que fallan. Por lo tanto, cualquier prueba realizada con el fin de identificar cuellos de botella normalmente se considera una prueba de esfuerzo.

informe sla
Pruebas de carga para establecer acuerdos de nivel de servicio (SLA)

 

Las pruebas de carga se realizan mejor en un entorno de producción para comprender los tiempos de respuesta medios bajo la carga esperada del usuario. Estos tiempos de respuesta promedio se convierten en la línea de base para los SLA aceptables. A partir de aquí, depende de usted determinar umbrales adicionales que se consideran inaceptables bajo sus SLA en términos de rendimiento esperado para sus clientes.

Pruebas de carga para la planificación de la capacidad

Generar una mayor carga en una aplicación web puede ayudar a predecir el rendimiento de las aplicaciones para una carga de usuarios más pesada en el futuro. Siempre que la aplicación sea capaz de responder dentro de los parámetros de SLA, una prueba de este tipo generalmente se consideraría un componente exitoso en la planificación de capacidad. Si las métricas de rendimiento registradas durante la prueba están fuera de los parámetros deseables, una prueba de carga puede convertirse realmente en una prueba de esfuerzo a medida que empuja el sistema más allá de la capacidad disponible.

Infraestructura de aplicaciones web de pruebas de estrés

Identificar el punto en el que se producirá un error en cada componente de la infraestructura es una parte fundamental para mantener una aplicación web escalable. Las pruebas de esfuerzo eficaces le permiten aislar cada componente a través de una serie de pruebas diferentes para determinar el punto de error de ese componente. Tales pruebas pueden incluir:

  • Aislar todo el tráfico a una región geográfica en particular
  • Limitación artificial del espacio en disco disponible
  • Enviar repetidamente una solicitud GET particularmente grande
  • Limitar el número máximo de conexiones de datos
  • Descarga de un archivo de imagen grande
  • Enviar repetidamente un POST intenso que escribe fuertemente en una base de datos

Cada prueba está diseñada para enfatizar un componente particular de la infraestructura para identificar los puntos de falla, la tasa de fallas y los límites superiores de la capacidad del sistema. Las pruebas de estrés pueden ayudar a identificar los cuellos de botella durante breves cargas intensas de cosas como el marketing viral, el reconocimiento de noticias internacionales y los días pesados de compras en línea, como el Black Friday.

Las diferencias entre las pruebas de carga y las pruebas de estrés

Resumen de LoadView
Una prueba de esfuerzo normalmente maximizará una parte del sistema u otra que eventualmente causa ralentizaciones y luego se bloquea o no responde. Es importante determinar qué componentes del sistema serán los primeros en encontrar problemas durante la prueba. Por este motivo, hay una serie de componentes que se recomiendan supervisar al realizar una prueba de esfuerzo.

Cosas que podrías controlar en una prueba de esfuerzo:

  • Banda
  • Uso de CPU
  • Memoria libre
  • E/S de disco
  • Lecturas y escrituras de bases de datos
  • Abrir conexiones de base de datos
  • Contenido de 3a parte

Si no dispone de sistemas de supervisión adecuados en el lado del servidor, Dotcom-Monitor proporciona un producto llamado MetricsView, que puede instalar directamente en los servidores para supervisar los contadores de rendimiento de Windows o Linux, así como los mensajes SNMP.

Los problemas con cualquiera de estos elementos podrían manifestarse como:

  • Respuesta lenta del primer paquete
  • Largos retrasos entre las solicitudes GET/POST y las respuestas
  • Cargas de página más largas de lo normal
  • Tiempo de espera de páginas web
  • Códigos de error del servidor devueltos

Aunque estos mismos problemas pueden detectarse inicialmente durante una prueba de carga, la idea detrás de una prueba de carga es generalmente simular las cargas esperadas que el sistema debe ser capaz de manejar de forma regular. A veces puede ser el caso en el que el sistema experimenta brevemente ralentizaciones mientras se asignan recursos al aumento de la carga, pero en la mayoría de los casos el sistema debe ser capaz de recuperarse de la asignación inicial y reanudar el rendimiento normal bajo una prueba de carga.

Si la prueba de carga continúa detectando problemas, debe echar un vistazo más de cerca a los contadores de rendimiento del sistema para determinar la causa raíz de la ralentización o el error. Esto es cuando una prueba de carga se convierte esencialmente en una prueba de esfuerzo, ya que la carga provoca inesperadamente problemas de rendimiento.

¡Ejecuta una prueba de carga o estrés hoy mismo!

Sin tarjeta de crédito. Sin compromiso. Paga sobre la marcha.