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!

Temporizadores en JMeter

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 constante en Jmeter

Temporizador aleatorio gaussiano

Gauss El temporizador aleatorio retrasa cada solicitud de usuario de un azar cantidad de tiempo.

Temporizador aleatorio gaussiano en Jmeter

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 gaussiano en Jmeter

Temporizador aleatorio uniforme

El temporizador aleatorio uniforme retrasa cada solicitud del usuario durante un período de tiempo aleatorio.

Temporizador aleatorio uniforme en Jmeter

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.

  1. JMeter crea one solicitud del usuario para http://www.google.com 100 veces
  2. Retrasar entre cada solicitud de usuario es 5000 ms

Aquí está la hoja de ruta para este ejemplo práctico:

Cómo utilizar el temporizador constante en Jmeter

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

Agregar grupo de hilos

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

Agregar temporizador constante

Configuración de un retraso de subproceso de 5000 milisegundos

Agregar temporizador constante

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

Agregar resultados de vista en la tabla

Ver resultados en la tabla se muestra como se muestra a continuación

Agregar resultados de vista en la tabla

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.

Ejecute la 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

Ejecute la prueba

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

  1. Compruebe si se está conectando a Internet a través de un proxy. En caso afirmativo, elimine el proxy.
  2. Abrir una nueva instancia de JMeter
  3. Abre el TimerTestPlan.jmx en jmeter
  4. Double Haga clic en Grupo de subprocesos -> Ver resultado en tabla
  5. Ejecutar la prueba