Как отправить 4000+ запросов ровно за 1 секунду?
у меня есть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
попадает на сервер приложений в одну секунду.
Случай 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 Threads слишком тяжелый, возможно, мне придется проверить это в распределенном режиме. Я также пытался с распределенным режимом (1 мастер, 2 рабов). Возможно, мой сценарий неверен.
Можно ли увидеть в эфирной трассировке, что мои 4000 запросов попали на сервер за 1 секунду?
Каким будет сценарий JMeter для достижения этого сценария в распределенном режиме?