jmeter之一次添加接口单场景压测记录与分析

以jpress新增文章接口为例

 

目录

1、需求分析

2、场景设计

3、分析结果生成报告

 

1、需求分析

需求人员一般对系统提出性能要求:某接口10秒达到100并发,响应时间不能超过3秒,10分钟稳定运行100用户,error%不超过0.01%,cpu占用率不能超过80%

分析:

第一点:启动时间要求10s启动100个

第二点:响应时间低于3秒,报错率低于0.01%

第三点:10分钟稳定运行100用户

 

2、场景设计

第一步:调通单接口

 

 

仅一次登录控制器:一次线程活动中只会运行一次,这样可以设置多次循环次数实现并发数(线程数*循环次数)的添加

 

 注:这里可以将仅一次登录控制器换成吞吐量控制器,这样整个活动下来,不管多少线程,不管循环多少次都只执行一次登录

 

 

 

 

 

 

 

第二步:设置第一点的需求场景,10秒内启动总并发数的通过20%、50%、80%、100%,分别得到当时的响应时间、报错率、tps、cpu占用率指标

如:20%

 

 

配置csv中20条条可添加信息

 

 

禁掉除了断言以外的所有非必须配置元件, 使用无图形界面运行方式 执行脚本,由于我这里脚本和参数化文件在我当前执行脚本的路径,所以我没有带路径,如果执行路径和脚本不在一个路径,则需要填写脚本位置,csv则在脚本中的函数助手中进行修改,确保是一个可读取的路径

E:\j>jmeter -n -t login.jmx -l m.jtl

 

执行完,会在指定的路径生成报告,此报告可用聚合报告打开

 

 

 

 

 

3、分析结果生成报告

 

1、本图需要关注的点:系统在空闲状态下执行20并发,处理添加请求响应平均时间为79ms,存在5%的报错率,tps为12.4/s

2、通常我们是需要拿几次的执行结果对比tps,查看报错率情况,分析性能瓶颈等

3、比如说报错率在某一次中超过了预期,则该值时已经存在性能瓶颈;tps达到某一值时,不升反降,则该值存在性能瓶颈;响应时间的值开始缓慢增加后来剧增,则达到性能瓶颈

4、可以通过nmon或者serveragent等插件观察服务器的动态cpu、内存、io、磁盘利用率等辅助分析

5、可以通过top命令实时查看服务器性能表现情况

 

优化版:

第一步:jmeter有一个Stepping Thread Group,可以实现阶梯式启动加压

入口:添加线程组——jp@gc - Stepping Thread Group

 

 设计脚本:

 

 参数介绍:

This group will start 100 threads:设置线程组启动的线程总数为100个;
First,wait for N seconds:启动第一个线程之前,需要等待N秒;
Then start N threads:设置最开始时启动N个线程;
Next,add 10 threads every 30 seconds,using ramp-up 5 seconds:每隔30秒,在5秒内启动10个线程;
Then hold load for 60 seconds:启动的线程总数达到最大值之后,再持续运行60秒;
Finally,stop 5 threads every 1 seconds:每秒停止5个线程;

第二步:

装好nmon(可参考https://www.cnblogs.com/weizhideweilai/p/11368192.html),最后设置参数进行监控服务器性能指标

链接:https://pan.baidu.com/s/1j6_H9W5SdnoFrsN2nuRmUQ
提取码:njku

posted @ 2020-08-16 10:30  给明天的自己  阅读(1127)  评论(0编辑  收藏  举报