我正在使用 JMeter 来测试我配置的 Apache2 服务器。我想测试服务器是否可以处理每秒总共出现的 200 个 HTTP 请求,并重复处理很长的秒数(例如 1 分钟,甚至更长)。我阅读了 JMeter 文档,但在理解计时器功能方面有点困难。我配置了测试
- Numbers of Threads 200
- Ramp-up period 1
- Loop Count 100
Run Code Online (Sandbox Code Playgroud)
现在,据我理解和注意到,JMeter的行为是尝试在1秒内提升200个线程,然后尽可能快地执行200*100=20000个请求(或者至少这是我的行为)在我的服务器上遇到),每次 200 个请求块。这意味着服务器可能(实际上确实)每秒接收超过 200 个请求。我想要重现的行为是每秒恰好有 200 个请求。我不在乎它们是否在第二个窗口开始时聚集在一起,或者它们以随机方式出现,分布在第二个窗口中(每 5 毫秒一个,或其他)。所以我尝试了一些定时器,但没有成功。我试过:
Constant Timer
线程延迟为 5 毫秒。计算一下,它应该每 5 毫秒发送一个请求,并且有 200 个线程,它应该每秒发送 200 个请求 (200*5 = 1000ms)。Constant Throughput Timer
目标吞吐量为 12000.0。也许我错了,但这应该是每分钟的样本,所以每 60 秒 200 个请求是 200*20 = 12000(如果样本是一个请求)。我不理解“计算吞吐量基于”选项,我尝试了“仅此线程”(哪一个?)和“所有活动线程”。无论如何,这些配置都没有达到我的需要。