Jmeter-Pruebas de Carga y Stress
Jmeter-Pruebas de Carga y Stress
Jmeter-Pruebas de Carga y Stress
AM
Una prueba de carga simula el acceso de varios usuarios al mismo tiempo, siguiendo el patrón de prueba de
que hayamos creado.
Entorno y arquitectura
El entorno de las pruebas de carga debe estar preparado para simular el acceso de muchos usuarios. Para
ello es necesario disponer de un equipo de prueba de carga.
Un equipo de prueba de carga es una máquina que actúa como controlador de prueba, y una o más máquinas
que actúan como agentes de prueba.
Una máquina con Visual Studio como cliente que solicita el lanzamiento de una prueba y muestra
los resultados.
Un controlador que sirve para orquestar la ejecución de las pruebas y recolectar los datos.
Una serie de agentes cuya misión es simular el escenario, ejecutar las pruebas.
Para tener este entorno se pueden crear máquinas virtuales en Azure, o disponer de estas máquinas
físicamente e instalar el software de “Visual Studio Test Agent” o “Test Controller” según corresponda.
También se pueden crear pruebas de carga basadas en la nube para proporcionar máquinas virtuales que
generan la carga de múltiples usuarios que acceden al sitio web al mismo tiempo.
Para ello es necesario disponer de una cuenta de “Visual Studio Team Services”
La arquitectura de los test de carga es por tanto de multiprocesador, lo cual, permite que la máquina en la
que los usuarios virtuales se instalan, utilice más de un procesador.
– Un cliente de Visual Studio: con el que se desarrollan las pruebas, se ejecutan y se ven los resultados.
– Un controlador de pruebas: con el que se administran los agentes de prueba y recopilan los resultados de
las pruebas.
– Agentes de prueba: con los que se ejecutan las pruebas y se recopilan datos, que incluyen información del
sistema y datos de generación de perfiles de ASP.NET definidos en la configuración de pruebas.
Aunque un controlador de pruebas normalmente administra varios agentes de prueba, un agente solo puede
estar asociado a un único controlador.
Se puede aumentar el número de cargas si distintos equipos de desarrollo comparten los agentes de prueba,
es decir, a mayor ataque, mayor obtención de resultados para el test.
Patrones de carga
Existen tres patrones de carga que se ajustan a los requerimientos de la prueba:
Constante. El patrón de carga constante se utiliza para especificar una carga de usuarios que no
cambia durante la prueba de carga. Por ejemplo, cuando se ejecuta una prueba de humo en una
aplicación web, es posible que desee establecer una carga ligera, constante de 10 usuarios. No es
recomendable tener un modelo de carga constante con un número alto de usuarios.
Pasos. El patrón de carga por pasos se utiliza para especificar una carga de usuarios que aumenta
gradualmente hasta una carga máxima definida por el usuario. Para intensificar la carga, se
especifica la cantidad inicial de usuarios, el número máximo de usuarios, duración (en segundos)
de la prueba.
Basado en objetivos. El patrón de carga basado en objetivos se es similar al patrón de paso, pero
se ajusta a la carga de usuarios basado en contadores de rendimiento realizando ajustes periódicos
de carga de usuarios.
Sin embargo, si el objetivo es simular una prueba de estrés, al ejecutar pruebas de carga desde una máquina
local o de desarrollo, es posible que no se genere el tráfico necesario para ver realmente cómo responde la
aplicación.
En un próximo artículo continuaré hablando en torno a Proyecto de prueba de Carga, Configuración de las
pruebas de carga y ejecución de los test de pruebas.