Skip to main content
  1. JMeter en Español/

La Magia del Temporizador 'Precise Throughput Timer'

·3 mins· 0 · 0 · ·
intermedio temporizador jmeter
Intermedio - This article is part of a series.
Part 10: This Article

precise

En esta entrada abordamos el uso de un temporizador que caracteriza por enviar transacciones en forma muy similar como usuarios reales usan una aplicación. Empezamos revisando los tipos the temporizadores ofrecidos en JMeter.

Categorías de Temporizadores>

Categorías de Temporizadores #

JMeter ofrece dos tipos de temporizadores. Una categoría es usada principalmente para insertar pausas (llamado Think Time en Inglés) entre peticiones con el propósito de emular el comportamiento humano. En esta categoría esta el Temporizador Constante, Temporizador Aleatorio Uniforme, Temporizador Aleatorio Guassiano, y otros.

La segunda categoría esta compuesta por temporizadores que tienen como objetivo regular el ratio de arribo de los Grupos de Hilos (sesiones), en otras palabras, configurar la carga (throughput) deseada. Este ratio de arribo está determinado por el intervalo de tiempo de ejecución entre hilos (Vusers), que en Inglés se conoce como Pacing. Dentro de esta categoría están el Constant Throughput Timer y el Precise Throughput Timer.

NOTA: ver mis entradas de blog pacing-1 y pacing-2 acerca de otra técnica para controlar el ratio de arribo.

Carga vs. Concurrencia>

Carga vs. Concurrencia #

Estos dos conceptos son críticos para entender la diferencia en el uso de los tipos de temporizadores.

CargaConcurrencia
Determinada por el PacingDeterminada por el Think Time
Intervalo entre sesiones del universo usuariosIntervalo entre peticiones dentro de una sesión

Precise Throughput Timer (PTT)>

Precise Throughput Timer (PTT) #

Como mencionamos previamente, el Precise Throughput Timer (PTT) y Constant Throughput Timer (CTT) tienen como propósito regular el arribo de hilos (Vusers). La principal diferencia entre estos dos temporizadores esta en que el CTT inserta un pausa constante mientras que el CTT inserta un pausa aleatoria. Esta pausa aleatoria modela una distribución de Poisson que (como se ha demostrado) es como los usuarios interactúan con una aplicación.

Configuration del PTT>

Configuration del PTT #

La configuración tiene dos aspectos. El primero aspecto tiene que ver con la ubicación del elemento en el plan de pruebas. El temporizador deberá ser incluido al inicio del Group de Hilos debajo de un elemento de Acción de Prueba (ver imagen a continuación).

El segundo aspecto es la configuración del temporizador en si mismo, y se basa un concepto simple: establecer el gol/objetivo del Throughput deseado.

imagen

En el ejemplo, el Throughput (TXN/Sec) deseado es como sigue:

Target Throughput (samples x "Throughput period") / Throughput period (secs)

600 TXN / 60 Segundos = 10 TXN por Segundo

Adicionalmente, es necesario asignar la duración del test: Test Duration en segundos.

Con estos parámetros, el PTT crea (en memoria/RAM) un esquema de despacho de como los hilos van ha ser instanciados durante de la prueba.

Consideraciones>

Consideraciones #

  1. Usar un Grupo de Hilos normal.
  2. Configurar el Grupo de Hilos con el número necesario de hilos/vusers.
  3. Configurar el Grupo de Hilos con un Ramp-up y Startup delay igual a cero.
  4. Configurar el Grupo de Hilos con un Loop Count infinito.
  5. Configurar el Grupo de Hilos con la misma duración (Test duration, mencionado previamente).
  6. No usar expresiones variables en la configuración.

NOTA: Consideración #2 es muy importante porque sin un número adecuado de hilos la prueba no podrá alcanzar el objetivo del Throughput deseado. La sugerencia es observar la bitácora de errores.

Conclusión>

Conclusión #

El temporizador PTT nos ofrece un herramienta para diseñar una prueba que caracteriza por enviar transacciones en forma muy similar como usuarios reales usan una aplicación.



Intermedio - This article is part of a series.
Part 10: This Article