jmeter:常见问题及解决办法2 - 无法达到设定好的qps

jmeter是一个用于负载功能测试和性能测试的工具,该工具在使用过程中会出现一些问题,在此进行简单整理。

设置好qps后,执行jmx文件,压力达不到既定需求。

出现该问题的原因可能有以下两种:

(1)对于qps的设置 或者 计算 存在问题

在jmeter中一般使用Constant Throughput Timer设置qps

jmeter:常见问题及解决办法2 - 无法达到设定好的qps

不同模式的qps计算方法不同:

  • This thread only:仅对当前线程,也就是每个线程相互是不干扰的,都互相分开计算需要多少延迟时间(总吞吐量=Target throughput乘以线程数)
  • All active threads:针对所有线程,把所有线程的吞吐量合在一起作为因子计算
  • All active threads in current thread group:针对当前线程组中的所有线程
  • All active threads(shared):线程延迟计算是基于任意一个线程上次运行的时间,也就是随便获取一个线程的运行时间来计算,既然是随机,结果就不一定准确,所以只能是努力控制吞吐量在某一个范围
  • All active threads in current thread group (shared):在当前线程组中任取一个线程的上次运行时间来计算延时,与上面意思相近

个人感觉用jmeter测试性能的时候,一般用This thread only,感觉这样准一些。

(2)在压测过程中可以观察总的qps,观察是否一直达不到设定的qps。

如果设定无误,且执行压测的机器与被压服务在同一个机房/网络畅通,则可能为被测服务的问题,建议调整qps或者对被测服务进行性能调优。

jmeter:常见问题及解决办法2 - 无法达到设定好的qps

  • summary+  为最近30s的qps信息
  • summary=  为总的qps信息
上一篇:C++并发编程(CH02)[ 动态确定线程数量&线程id-03&04]


下一篇:MySql参数性能调优