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

 

pruebas de rendimiento de estrés 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 pueda controlar un volumen de tráfico esperado y, por lo tanto, a veces se conoce como pruebas 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, es posible que termine ejecutando efectivamente una prueba de esfuerzo en la que se supera 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 pueda controlar 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 varios 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. Si está generando 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. Si la aplicación responde dentro de los parámetros de SLA, dicha prueba generalmente se consideraría un componente correcto en la planificación de la 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 en una prueba de esfuerzo a medida que empuja el sistema más allá de su 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 específica.
  • Limitar artificialmente el espacio disponible en disco.
  • 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 esfuerzo

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 varios componentes que le recomendamos que supervise al realizar una prueba de esfuerzo. Vale la pena señalar que dependiendo de la aplicación, software, o incluso la tecnología que se utiliza en su entorno / sistema, qué métricas mide durante una prueba de esfuerzo podría variar. Sin embargo, la siguiente lista comp

  • Tiempos de respuesta. Tiempo necesario para recibir una respuesta después de enviar una solicitud. Esto es especialmente importante para medir los tiempos de respuesta percibidos por los usuarios
  • Restricciones de hardware. Esto incluye la supervisión del uso de CPU, RAM, E/S de disco. Si los tiempos de respuesta se retrasan o se ralentizan, estos componentes de hardware podrían ser posibles culpables.
  • Rendimiento. La cantidad de datos que se envían/reciben durante la duración de la prueba en función de los niveles de ancho de banda.
  • La base de datos lee y escribe. Si la aplicación utiliza varios sistemas, las pruebas de esfuerzo pueden indicar qué sistema o unidad es el cuello de botella.
  • Abra las conexiones de base de datos. Las bases de datos grandes pueden afectar gravemente al rendimiento, ralentizando los tiempos de respuesta.
  • Contenido de terceros. Las páginas web y las aplicaciones se basan en muchos componentes de terceros. Las pruebas de esfuerzo le mostrarán cuáles pueden afectar el rendimiento de su página o aplicación.

Si no tiene sistemas de supervisión adecuados en el lado del servidor, la plataforma Dotcom-Monitor proporciona una solución de supervisión del contador de rendimiento para una supervisión completa del rendimiento del servidor de extremo a extremo. Estos contadores de rendimiento se instalan directamente en los servidores para supervisar los contadores de rendimiento de Windows, Linux o SNMP. Además, también hay una solución para supervisar los contadores de rendimiento personalizados desde sus dispositivos y servidores. Para obtener más información sobre la supervisión del contador de rendimiento, visite nuestra página soluciones de supervisión del contador de rendimiento.

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.
  • Tiempos de carga de página más largos de lo normal.
  • Tiempo de salida de carga de la página web.
  • Se devuelven códigos de error del servidor.

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 causa inesperadamente problemas de rendimiento. Póngase en contacto con nuestro equipo para una demostración de la plataforma LoadView. Un ingeniero de rendimiento le guiará a través de todo el proceso de pruebas de carga y esfuerzo. Desde mostrar cómo crear scripts para escenarios de páginas web o aplicaciones web, hasta configurar e iniciar la prueba, le llevarán a través de todo el proceso y responderán a cualquier pregunta que pueda tener en el camino.

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

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