2011-12-01 18 views
7

Actualmente estoy usando JMeter para simular 5 usuarios lanzando solicitudes cada 40 segundos. Creé 100 solicitudes diferentes, pero después de cada 40 segundos, cada usuario activa las 100 solicitudes. Quiero hacerlo de tal manera que después de cada 40 segundos, cada usuario solo active 1 solicitud y esa solicitud tenga que ser diferente a la solicitud anterior. Me gustaría saber qué tipo de controlador usar (o cualquier otra cosa) para lograr este escenario.JMeter - Disparar solicitudes diferentes en cada iteración

Gracias

Respuesta

13

tratar de utilizar Random Controller.

La forma más sencilla de implementar su escenario:

 
Thread Group 
Number of Threads = 5 
Loop Count = N 
    . . . 
    Random Controller 
     HTTP Request 001 
     HTTP Request 002 
     HTTP Request 003 
     . . . 
     . . . 
     HTTP Request 100 
    Test Action 
    Target = Current Thread 
    Action = Pause 
    Duration = 40000 
    . . . 

Esto se repetirá 5 hilos de N veces.
El controlador aleatorio seleccionará RANDAMENTE cada solicitud HTTP de paso de "conjunto de solicitudes": todos los muestreadores agregados como secundarios a Random Controller.
Acción de prueba pondrá en pausa el hilo durante 40 segundos.

Actualizado:
trabajo ilustración de esquema anterior:

Random Controller example

 
Thread Group 
Number of Threads = 5 
Ramp-Up Period = 0 
Loop Count = 10 

Constant Timer 
Thread Delay (in ms) = 40000 

se puede descargar ejemplo de trabajo para el esquema descrito a partir de aquí: rc-plan.jmx.
Éste funciona como quiera (al menos para mí, Jmeter 2.5.1): escoge aleatoriamente UNA solicitud del conjunto de solicitudes (en ejemplo, 10 solicitudes) para CADA usuario (aquí - 5 usuarios) en CADA paso (aquí - 10 bucles) y pausa cada hilo durante 40 segundos (Temporizador constante).

También puede consultar este archivo de correo electrónico: Is their a way to randomize URL selection?.
Parece que se describe una situación similar a la de uno here.

... Según la documentación oficial "Las interacciones entre varios controladores pueden producir un comportamiento complejo. Esto es particularmente cierto para el controlador aleatorio".

+0

¿La configuración anterior hará que cada subproceso active una solicitud (elegida aleatoriamente del grupo de solicitudes) cada 40 segundos o las 100 solicitudes cada 40 segundos? Lo intenté y seguía disparando los 100 cada 40 segundos. ¿Sería posible que me envíe un plan de prueba de muestra que funcione para usted? Muchas gracias por su ayuda Alies – user1066568

+0

Pruebe este: http://www.filehat.com/en/file/27104/rc-plan-jmx.html. Funciona bien para mí (Jmeter 2.5.1). –

+0

Muchas gracias por eso, Alies. – user1066568

6

Otra opción para usted puede ser crear un archivo CSV con parámetros para sus solicitudes con anticipación y usar CSV Data Set Config para parametrizar una única solicitud HTTP.

Eso depende obviamente de lo diferente que sus peticiones HTTP son, pero si se ajusta a sus necesidades hay algunas bonificaciones potenciales con el mantenimiento de petición HTTP 1 en su contra plan de pruebas 100.

Los otros detalles serían los mismos como @Alies Belik estableció: un grupo de subprocesos configurado para la cantidad de subprocesos y ciclos requeridos, con un temporizador constante al final de la pausa de 40 segundos.

Cuestiones relacionadas