首页
学习
活动
专区
工具
TVP
发布

使用JMeter插件做性能测试——Testfan打卡学测开0123

本期技术分享讲师闫老师

分享内容:如何使用JMeter插件做性能测试

本期文字解析

下面对一个http接口进行性能测试,并利用其中某些组件做做性能分析。

线程组配置

采用了stepping Thread Group,线程数由1到200逐渐增加,然后逐渐递减。

执行脚本

配置完jmeter环境变量后,进入到脚本目录,执行:

jmeter -n -t rest2.jmx -l rest2.jtl

查看执行结果

在jmeter窗口模式,分别在聚合报告、Transactions per Second、Response Times Over Time中打开测试结果的jtl文件。当然还可以用更多的性能相关的组件分析其测试结果。

性能分析

1、聚合报告:平均响应时间为67ms,但是TP95开始响应时间急剧增加,估计是压力增加导致的结果。

2、Transactions per Second:可以看到大概在20秒开始,tps到达1400,单随后无论压力怎么增长,tps增加有限,基本在1400-1600之间浮动。

3、Response Times Over:可以看到平均响应时间和压力变化基本是一个线性关系,压力增加,响应时间增加,压力降低,平均响应时间降低。当在20秒的时候,响应时间基本在20ms,但此时tps已经达到1400左右。此时并发线程数大致在20。当线程数继续增加,tps并没有显著增加,只是导致平均响应时间的增加。为什么平均响应时间会增加呢?原因是服务器每秒大概能处理1400个请求,但是如果继续增加并发,服务器开始承受更大的压力,有些请求不能及时处理,处于排队中。如果排队的请求越来越多,将会出现某些请求不能及时处理,出现超时。随着连接数的增加,服务器连接数可能达到上限,导致服务器拒绝连接。

4、总结:线程数20、tps1400时,可以认为是服务器开始出现性能瓶颈的一个拐点。可能有些同学会问,线程数才20,并发怎么这么低。事实上,我们可以看到并发数完全可以达到200,此时平均响应时间大概在140-160ms,长时间处于这个并发压力,必然会出现超时、拒绝连接等错误。还要充分理解jmeter的并发模型,假设是1400个连接已经建立(前提是服务器配置的连接数上限大于等于1400),每秒发送1个请求,服务器也能轻松应对。但是一旦并发数超过更多,每秒发送1个请求,服务器就开始无暇处理更多的请求,平均响应时间开始降低,出现排队现象。

5、性能调优:尝试增加服务器的线程池,增加服务器内存,增加请求排队数和连接数,优化代码等手段,看看能否提高tps。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190123B05MGJ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券