У меня есть HTTP GET request
. Мне нужно отправить запрос на сервер приложений более чем за 4000
раз ровно через 1 секунду.
Я отправляю эти запросы с помощью JMeter. Я каждый раз принимал эфирные следы для каждого теста, используя инструмент сниффера (Wireshark
).
Я попытался добиться этого с одной машины, нескольких машин (параллельно) и даже распределенного режима.
Собственно, результаты JMeter здесь не беспокоят. Забота этого теста заключается в том, чтобы увидеть, что запросы 4000
попадают на сервер за одну секунду в инструменте сниффера.
Я нашел почти 2500
запрос в 1 sec
в эфирной трассе при использовании следующего плана тестирования JMeter.
Number of Threads= 4000
Ramp-Up Periods = 0 (Though it is depricated)
Loop count= 1
Когда я использую количество потоков в качестве 2500
, я получил почти 2200 request
, ударяя сервер за одну секунду в эфирной трассе.
Ответ от сервера для этого запроса здесь не касается. Я просто хочу убедиться, что запрос 4000
, отправленный JMeter
, попадает на сервер приложений за одну секунду.
UPDATE:
Случай 1: (4000 потоков)
Number of Threads= 4000
Ramp-Up Periods = 0
Loop count= 1
Выход для случая 1:
JMeter (просмотр результатов в таблице): 2.225 секунд для запуска 4000 запросов.
Эфирная трассировка: 4.12 секунды для 4000 запросов на поражение сервера.
Случай 2: (3000 потоков)
JMeter (просмотр результатов в таблице): 1.83 секунды для запуска 3000 запросов.
Эфирная трассировка: 1,57 секунды для 3000 запросов на сервер.
Случай 3: (2500 потоков)
JMeter (просмотр результатов в таблице): 1.36 секунды, чтобы запустить 2500 запросов.
Эфирная трассировка: 2.37 секунды для 2500 запросов на сервер.
Случай 4: (2000 тем)
JMeter (просмотр результатов в таблице): 0,938 секунды, чтобы запустить 2000 запросов.
Эфирная трассировка: 1.031 секунд для 2000 запросов на поражение сервера.
I have run these test from only one machine.
No listeners added.
Non-Gui mode.
No assertions in my scripts.
Heap size: 8GB
Итак, я не понимаю, почему мои результаты JMeter и эфирные следы отличаются друг от друга. Я также пытался с синхронизировать таймер для достижения этого сценария.
Так как 4000 потоков слишком тяжелые, возможно, мне нужно проверить это в режиме распределенного доступа. Я также пробовал с распределенным режимом (1 мастер, 2 подчиненных). Может быть, мой script ошибочен.
Можно ли увидеть в эфирной трассе, что мои 4000 запросов попали на сервер за 1 секунду?
Каким будет JMeter script для достижения этого сценария в распределенном режиме?