我对Jmeter测试配置非常困惑。我找到了很多答案,但没有一个可以清除我的疑问。我的线程组包含10个线程,所有线程都处于活动状态。我想每秒向服务器发送20个请求。加载需要持续60秒。
我放
线程数:20 加速时间:1 循环计数:60
持续60秒每秒发出20个请求是正确的方法吗?
答案 0 :(得分:0)
对于每秒请求,我们不应该手动计算,而要让JMeter头疼。只要确保有足够的线程来达到TPS和JMeter将控制步调即可。如果线程数较少而每秒请求数较多,则JMeter无法做到任何事情,并且RPS将无法满足。
使用吞吐量整形计时器来实现每秒的请求Throughput Shaping Timer
我需要多少个线程才能产生所需的RPS?
线程池的大小可以像RPS * <max response time> / 1000
一样进行计算。所需的速率越高,您将需要的线程越多。响应时间服务越多,您将需要更多的线程。
例如,如果您的服务响应时间可能是2.5秒,目标rps是1230,则您必须具有1230 * 2500 / 1000 = 3075
个线程。
最好有一些线程开销来处理意外的响应时间峰值。但是请注意开销过多,这将导致“最终峰值”。
在线程组和吞吐量整形计时器中使用以下设置: 如果未达到20 TPS,则增加线程数。
答案 1 :(得分:0)
答案 2 :(得分:0)
只有在以下情况下,您的配置才正确:
正确的配置类似于:
最好的方法是将Concurrency Thread Group和Throughput Shaping Timer组合使用。它们可以通过Feedback Function连接在一起,如果当前数量不足以进行所需的负载,则允许并发线程组启动更多线程。