如何在1秒内发送4000多个请求?
我有一个.我需要在 1 秒内将请求发送到应用程序服务器超过一次。HTTP GET request
4000
我使用JMeter发送这些请求。我每次都使用嗅探器工具()对每次测试进行空灵跟踪。Wireshark
我试图从一台机器,多台机器(并行)甚至分布式模式来实现这一点。
实际上,JMeter的结果不是我在这里关心的问题。此测试的重点是查看请求在嗅探器工具的一秒钟内到达服务器。4000
在使用以下JMeter测试计划时,我发现几乎在空灵的跟踪中请求。2500
1 sec
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线程太重,也许我必须在分布式模式下进行测试。我也尝试过分布式模式(1个主站,2个从站)。也许我的脚本是错误的。
有没有可能在飘渺的跟踪中看到我的4000个请求在1秒内到达服务器?
在分布式模式下实现此场景的 JMeter 脚本是什么?