Попробуйте использовать случайный контроллер.
Самый простой способ реализовать свой сценарий:
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
. . .
Это будет повторять 5 потоков N раз.
Random Controller будет СЛУЧАЙНО получать HTTP-запрос на каждом шаге из «пула запросов» - все сэмплеры, добавленные как дочерние к Random Controller.
Test Action приостанавливает поток на 40 секунд.
Обновлено:
рабочая иллюстрация для схемы выше:
![Пример случайного контроллера](https://i.stack.imgur.com/BNPWf.png)
Thread Group
Number of Threads = 5
Ramp-Up Period = 0
Loop Count = 10
Constant Timer
Thread Delay (in ms) = 40000
Вы можете скачать рабочий пример для описанной схемы отсюда: rc-plan. jmx.
Он работает так, как вы хотите (по крайней мере, для меня, Jmeter 2.5.1): он случайным образом выбирает ОДИН запрос из пула запросов (в примере - 10 запросов) для КАЖДОГО пользователя (здесь - 5 пользователей ) на КАЖДОМ шаге (здесь - 10 циклов) и приостанавливает каждый поток на 40 секунд (постоянный таймер).
Вы также можете заглянуть в этот архив рассылки: Их способ случайным образом выбрать URL?.
Ситуация, похожая на вашу, кажется, описана здесь.
... Согласно официальной документации «Взаимодействие между несколькими контроллерами может привести к сложному поведению. Это особенно верно для случайного контроллера».
person
Aliaksandr Belik
schedule
01.12.2011