JMeter-запуск различных запросов в каждой итерации
в настоящее время я использую JMeter для имитации запросов 5 пользователей каждые 40 секунд. Я создал 100 различных запросов, но через каждые 40 секунд каждый пользователь запускает все 100 запросов. Я хочу сделать это таким образом, чтобы через каждые 40 секунд каждый пользователь запускал только 1 запрос, и этот запрос должен отличаться от предыдущего запроса. Я хотел бы знать, какой контроллер использовать (или что-то еще), чтобы реализовать такой сценарий.
спасибо
2 ответов
попробуйте использовать Случайные Контроллер.
самый простой способ реализовать вашу ситуацию:
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 раз.
Случайный контроллер будет случайным образом подбирать на каждом шаге http-запрос из "пула запросов" - все сэмплеры, добавленные как дети к случайному контроллеру.
Тестовое действие приостановит поток на 40 секунд.
обновление:
рабочая иллюстрация для выше схема:
Thread Group Number of Threads = 5 Ramp-Up Period = 0 Loop Count = 10 Constant Timer Thread Delay (in ms) = 40000
Вы можете скачать рабочий пример для описанной схемы здесь: rc-план.с помощью JMX.
Это работает так, как вы хотите (по крайней мере, для меня, Jmeter 2.5.1): он выбирает случайным образом один запрос из пула запросов (в примере - 10 запросов) для каждого пользователя (здесь - 5 пользователей) на каждом шаге (здесь - 10 циклов) и приостанавливает каждый поток на 40 секунд (постоянный таймер).
вы также можете посмотреть в архиве рассылки: является ли их a способ рандомизации выбора URL?.
Ситуация, похожая на вашу, кажется, описана здесь.
...согласно официальной документации "взаимодействия между несколькими контроллерами могут привести к сложному поведению. Это особенно верно для случайного контроллера."
другой вариант для вас может быть создать CSV-файл с параметрами для ваших запросов раньше времени и использовать конфигурация набора данных CSV для параметризации одного http-запроса.
Это, очевидно, зависит от того, насколько отличаются ваши http-запросы, но если это соответствует вашим требованиям, есть некоторые потенциальные бонусы с поддержанием 1 http-запроса в вашем плане тестирования против 100.
другие детали будут такими же, как @Alies Belik выложил-одна группа потоков настроено для требуемого количества потоков и петель, с постоянным таймером в конце для вашей 40-секундной паузы.