关于Jmeter 性能测试的局限性

发表于:2018-4-12 10:12  作者:wonder1z   来源:TesterHome

字体: | 上一篇 | 下一篇 |我要投稿 | 推荐标签: 性能测试工具 软件测试工具 Jmeter

  这两天做压测,用了Constant Throughput Timer 来限制QPS。
  被压测接口最大TPS 为110左右,在QPS达到110前,QPS = TPS,而 QPS>110后,接口TPS会稳定在110。如下图
  再增加线程和Timer配置都只会导致响应时间的增加,TPS 却不会增加,并且无报错(注:QPS指每秒请求数,TPS指每秒处理请求)
  我就在想,如果接口 收到的QPS 远大于他的处理能力,理论上应该会报错,并且处理能力(TPS)下降, 那为什么 TPS会稳定呢。
  我分析了下测试数据(下图),
  以 10线程 40QPS 和 75线程 300QPS为例,
  10线程时的平均响应时间 为0.113s,他可以造成10/0.113=88 的QPS,但因为Throughput Timer 配置了2400(也就是40QPS),所以他实际QPS为40
  75线程时平均响应时间为0.625,对应QPS 为75/0.625=120,而我设置的Throughput Timer是18000(300QPS),所以75线程时,jmeter根本就没法提供300QPS
  500线程结果和75线程 差不多,虽然 线程和 QPS配置上去了,但因为响应时间 增加,实际的QPS 只能达到120左右。
  所以我最终得出结论是,jmeter 能提供的最大QPS 只能为接口TPS , 也就是说,jmeter不能提供更高的QPS 来压爆接口
  另外,我用apache的AB 也做了同样的测试,结论是一样的。
  对于这个结论 我也很吃惊,不知道有没有漏洞,欢迎各位拍脸

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。

【直播预售】接口测试行业大佬带你从青铜上王者>>立即查看

评 论

论坛新帖

顶部 底部


建议使用IE 6.0以上浏览器,800×600以上分辨率,法律顾问:上海瀛东律师事务所 张楠律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2018, 沪ICP备05003035号
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪公网安备 31010102002173号

51Testing官方微信

51Testing官方微博

扫一扫 测试知识全知道