Temporizadores Jmeter: constantes, aleatorios gaussianos, uniformes [Ejemplo]
¿Qué son los temporizadores?
De forma predeterminada, JMeter envía la solicitud sin pausa entre cada solicitud. En ese caso, JMeter could abrumar su servidor de prueba al realizar demasiadas solicitudes en un corto período de tiempo.
Imaginemos que envías miles solicitud a un servidor web bajo prueba en unos segundos. ¡Esto es lo que pasa!
Los temporizadores permiten JMeter a retrasar entre cada solicitud que realiza un hilo. Un temporizador puede resolver el servidor. sobrecarga problema.
También, en la vida real los visitantes no llegan a un sitio web todos al mismo tiempo, sino en diferentes intervalos de tiempo. Entonces Timer ayudará a imitar el comportamiento en tiempo real.
Los siguientes son algunos común tipos de temporizador en JMeter
Temporizador constante
El temporizador constante retrasa cada solicitud del usuario para el mismo cantidad de tiempo.
Temporizador aleatorio gaussiano
Gauss El temporizador aleatorio retrasa cada solicitud de usuario de un azar cantidad de tiempo.
parámetros
Atributo | Descripción |
---|---|
Tu Nombre | DescriptTengo un nombre para este temporizador que se muestra en el árbol. |
Desviaciones (milisegundos) | A parámetro de la función de distribución gaussiana |
Compensación de retardo constante (milisegundos) | Opciones de Coberturas valor en milisegundos |
Entonces, el retraso total se describe en la siguiente figura:
Temporizador aleatorio uniforme
El temporizador aleatorio uniforme retrasa cada solicitud del usuario durante un período de tiempo aleatorio.
parámetros
Atributo | Descripción |
---|---|
Tu Nombre | DescriptTengo un nombre para este temporizador que se muestra en el árbol. |
Máximo de retraso aleatorio | Número aleatorio máximo de milisegundos para retrasar. |
Compensación de retardo constante (milisegundos) | Opciones de Coberturas valor en milisegundos |
El retraso total es la suma del valor aleatorio y el valor de compensación.
Temporizador BeanShell
La beanshell El temporizador se puede utilizar para generar un tiempo de retraso entre cada solicitud de usuario.
Temporizador BSF
El temporizador BSF se puede utilizar para generar un retraso entre cada solicitud de usuario utilizando un BSF Lenguaje de escritura.
Temporizador JSR223
El temporizador JSR223 se puede utilizar para generar un retraso entre cada solicitud de usuario utilizando un JSR223 Lenguaje de escritura
Cómo utilizar el temporizador constante
En este ejemplo, utilizará Temporizador constante para establecer un retraso fijo entre las solicitudes de los usuarios a google.com.
Comencemos con un script de prueba simple.
- JMeter crea one solicitud del usuario para http://www.google.com 100 veces
- Retrasar entre cada solicitud de usuario es 5000 ms
Aquí está la hoja de ruta para este ejemplo práctico:
Condición previa
We reutilizar el Paso 1 y el Paso 2 en el tutorial JMeter Test de rendimiento.
Paso 1) Agregar grupo de subprocesos
Haz clic derecho en la Plan de prueba y agregue un nuevo grupo de hilos: Agregar-> Hilos (Usuarios) ->Grupo de hilos
En el panel de control del grupo de subprocesos, ingrese las propiedades del subproceso de la siguiente manera
Esta configuración permite JMeter Para crear one solicitud del usuario para http://www.google.com in 100 veces
Paso 2) Agregar JMeter elementos
- Agregar solicitud HTTP predeterminada
- Agregar solicitud HTTP
Paso 3) Agregar temporizador constante
Haga clic con el botón Grupo de hilos -> Minutero -> Temporizador constante
Configuración de un retraso de subproceso de 5000 milisegundos
Paso 4) Agregar resultados de vista en la tabla
Ver resultados en tabla muestra el resultado de la prueba en formato de tabla.
Haga clic derecho Agregar -> Perfil ->Ver resultado en tabla
Ver resultados en la tabla se muestra como se muestra a continuación
Paso 5) Ejecute su prueba
Cuando esté listo para ejecutar una prueba, haga clic en la carrera botón en la barra de menú, o tecla corta Ctrl + R
Este es el resultado de esta prueba.
Por ejemplo, en la figura anterior, analicemos el Muestra 2
- Hora de inicio es 22:05:01.866
- Tiempo de la muestra de la muestra 2 es 172 ms
- Temporizador constante: 5000 ms (según configuración)
- Hora de finalización de esta muestra es = 22:05:01.866 + 172 + 5000 = 22:05:07.038
Entonces la Muestra 3 debería comenzar en el momento 22:05:07.039 (Como se muestra en la figura anterior)
La retrasar de cada muestra es 5000 ms
Si cambia el temporizador constante es cero, verás que el resultado ha cambiado
Analicemos el Muestra 1
- Hora de inicio es 22:17:39.141
- Tiempo de la muestra de la muestra 2 es 370 ms
- Temporizador constante : 0 ms (según configuración)
- Hora de finalización de esta muestra es = 22:17:39.141+ 370 + 0 = 22:17:39.511
Entonces el Muestra 2 debe comenzar en el momento es 22:17:39.512 (Se muestra en la figura anterior)
Diagnóstico
Si enfrenta el problema mientras ejecuta el escenario anterior... haga lo siguiente
- Compruebe si se está conectando a Internet a través de un proxy. En caso afirmativo, elimine el proxy.
- Abrir una nueva instancia de JMeter
- Abre el TimerTestPlan.jmx en jmeter
- Double Haga clic en Grupo de subprocesos -> Ver resultado en tabla
- Ejecutar la prueba