Хит 2000 запросов в 1 час, частично из слота "A" и из слота "B"
Всего мне дали 900 URL-адресов (страниц) в двух слотах "A" и "B", пусть 500+400.
Я хочу обработать 2000 запросов за 1 час, имея 80% попаданий из слота A и 20% из слота B, в конце мне нужно поделиться временем отклика.
Как я пытался:
`**TestPlan**
-**ThreadGroup-SlotA** - Number of threads=20,Ramp up=2 sec, Loop=1
-Constant Throughput Timer = 35 (All active threads in current thread group)
-View Tree Report
-jp@gc Response Times over Time
-**ThreadGroup-SlotB** - Number of threads=9, Ramp up=1 sec, Loop=1
-Constant Throughput Timer = 35 (All active threads in current thread group)
-View Tree Report
-jp@gc Response Times over Time`
Я запускаю его из командной строки
jmeter -t c:\Users\Admin\Desktop\Jmeter\ThreadAandB.jmx -n -l c:\Users\Admin\Desktop\Jmeter\Reports\Reports.csv -JTEST_RESU
LTS_FILE=c:\Users\Admin\Desktop\Jmeter\Reports\Results.csv
Запрос:
- Точно ли этот план соответствует этому требованию, как рассчитать его на бумаге?
- Как узнать, сколько процентов с какого слота было? Если это не решает требование, как настроить это, которое отвечает требованию от каждого слота?
- Будет ли тест завершаться автоматически через 1 час или после 2000 запросов? Как убедиться в этом.
Пожалуйста, извините, если вы видите очень глупые вопросы. Я новичок в Jmeter здесь.
Редактировать: уже прошел через это, но не мог понять, как поместить его в Jmeter на самом деле. Тестирование с помощью JMeter: как выполнить N запросов в секунду
@vins Мой комментарий достиг предела количества слов, поэтому вставьте мой вопрос. Пожалуйста, взгляните:
Вопрос 1: Я создал две группы потоков (см. Описание вопроса) внутри плана тестирования, и внутри этих групп потоков у меня 500 страниц http, но на вашем скриншоте у вас есть только группа потоков, но два контроллера пропускной способности, внутри контроллеров пропускной способности у вас есть запросы http. Оба подхода служат одной цели?
Вопрос 2: чтобы получить 80% запросов от первой группы потоков, нужно ли кормить 80 в percent executions
выпадающий из throughput controller
?
Вопросы 3: Будет ли он выбирать http-запросы случайным или последовательным образом, я хочу, чтобы он выбирался случайным образом, но он выбирался последовательно, т.е. все 9 пользователей переходили на одну и ту же страницу, а затем следующие 9 пользователей переходили на следующую страницу и так далее... но я хочу, чтобы каждый набор из 9 пользователей попал в случайные URL.
1 ответ
Проверьте образец плана испытаний.
Это может быть достигнуто путем Throughput Controller
+ Constant Throughput Timer
Таймер постоянной пропускной способности - целевая пропускная способность установлена на 34 / мин для достижения 2000 запросов / час.
Когда общее количество запросов не было 550, слот A был 440, а слот B был 110. 80/20 работали очень хорошо.
Обновить:
Обратите внимание, что у вас может не быть ровно 2000 запросов / час. JMeter постарается добиться этого. В основном в этом диапазоне. Минимум 2000/ час (Я установил целевую пропускную способность как 34 / мин. JMeter сделал 34,1 / мин.) Если ваше приложение не способно обрабатывать эти многочисленные запросы в течение 1 часа, очевидно, что JMeter не может отправлять 2000 запросов.
Вы можете установить продолжительность группы потоков на 3600, чтобы автоматически останавливаться через 1 час. Установите счетчик циклов навсегда. ИЛИ пусть количество циклов будет 2000 . JMeter автоматически остановит тест либо по истечении времени, либо по достижению счета.
Если 2000 запросов / ч - это общая пропускная способность сервера, то ни один из пользователей группы потоков не имеет значения. Вы даже можете достичь этого с 1 пользователем. (Я не знаю о вашем приложении - поэтому сначала начните с нескольких пользователей. Если вы не можете получить 2000/ час, то добавьте больше пользователей)
Вам не нужны 2 группы потоков. Может быть, я не полностью понял вопрос. Предположим, у вас есть 2 набора URL. Позволяет хранить их в 2 разных файлах CSV. С 2 CSV-конфигами мы можем гарантировать, что один URL-адрес попадет только одному пользователю.
Пример плана испытаний выложен здесь.