2、企业级Jmeter压力测试方法及报告模板

关于XXXX生产环境压测报告

修订历史
所属部门版本号编制修改原因人员修改日期
XXXXX001创建XXXXXXXXX年XX月XX日
XXXXX002修订XXXXXXXXX年XX月XX日
XXXXX003修订XXXXXXXXX年XX月XX日
XXXXX004修订XXXXXXXXX年XX月XX日
XXXXX005评审XXXXXXXXX年XX月XX日

目录

一、测试内容

二、测试方法

1.测试方式描述。

2、 简述测试步骤。

2.1设置请求默认地址:图示设置默认路径为 XXXXX

2.2设置请求XXXX路径及相关参数

2.3设置响应事件结果图

2.4设置表格展示结果

3、测试指标提取:

三、测试目标

四、测试环境

1.测试客户端配置

2.网络环境

3.测试时间

五、系统部署

六、测试说明

七、测试统计及分析

1)50个线程组并发

2)100个线程组并发

3)200个线程组并发

4)500个线程组并发

5)1000个线程组并发

6)2000个线程组并发

7)3000个线程组并发

8)4000个线程组并发

八、结果

九、结论及建议

一、测试内容

本次测试是针对XXXXX系统服务进行的压力测试,本次压测主要提取XXXXX进行压力测试。

二、测试方法

1.测试方式描述。

本次采用apache的开源测试工具Jmeter,采用Jmeter代理服务器录制脚本生成http请求脚本,并通过http协议post方式发送访问请求,收集服务器响应速度等情况。

2、简述测试步骤。

安装启动JMeter,分别对以上页面进行压力测试分别测试50、100、500、1000、2000、3000、4000个线程,即模拟这些数目的用户并发; Ramp-up period(inseconds)的值设为1(即1s启动50、100、500、1000、2000、3000、4000并发访问),并发持续运行为5分钟。

2.1设置请求默认地址:图示设置默认路径为XXXXX

2.2设置请求XXXX路径及相关参数

图示请求无消息体内容(下面是展示消息体Json格式):

{"orderNo": "AAAA",

​    "areaId": 123456,

​    "updatetDate": "2022-10-14",

​    "createDate": "null",

​    "mobile": "12345678911",

​    "userId": 2,

​    "address":{"city":330300,

​        "street":"aaaa"}

  }

2.3设置响应事件结果图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4DVtmz90-1665629008341)(file:///C:\Users\cheche\AppData\Local\Temp\ksohtml7156\wps3.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fs8VchaL-1665629008341)(file:///C:\Users\cheche\AppData\Local\Temp\ksohtml7156\wps4.jpg)]

2.4设置表格展示结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hadsB9Ei-1665629008341)(file:///C:\Users\cheche\AppData\Local\Temp\ksohtml7156\wps5.jpg)]

3、测试指标提取:

测试项并发数持续运行时间响应时间最小响应时间最大平均响应时间成功率总请求量吞吐量
系统入口505min<1s<2min<20s100%>80000>200.0/sec
1005min<1s<2min<20s100%>80000>200.0/sec
2005min<1s<2min<20s100%>80000>200.0/sec
5005min<1s<2min<20s100%>80000>200.0/sec
10005min<1s<2min<20s100%>80000>200.0/sec
20005min<1s<2min<20s100%>80000>200.0/sec
30005min<1s<2min<20s100%>80000>200.0/sec
40005min<1s<2min<20s100%>80000>200.0/sec

三、测试目标

XXXX服务服务器器极限值

四、测试环境

1.测试客户端配置

主机用途机型/OS台数CPU/台内存容量/台
模拟用户请求Windows2816G

2.网络环境

本次测试是在公网中进行的测试,更能模拟用户操作环境,可以会对压测造成影响。

3.测试时间

压测环境测试人测试时间
XXXX生产环境XXXX2022年10月14日

五、系统部署

系统已经经过开发人员部署在虚机上,无需另外再次进行系统部署。

六、测试说明

名词定义(时间的单位均为ms):

样本----本次场景中一共完成了多少个线程

平均值----平均响应时间

中位数----50%请求的响应时间

90%百分位----90%请求响应时间

95%百分位----95%请求响应时间

99%百分位----99%请求的响应时间

最小值----最小的响应时间

最大值----最大的响应时间

异常%----错误率=错误的请求的数量/请求的总数

吞吐量----吞吐量即表示每秒完成的请求数

接收 KB/sec----每秒从服务器端接收到的数据量

发送 KB/sec----每秒从客户端发送的请求的数量

七、测试统计及分析

压测场景:

1.输入URL:XXXXX

1)50个线程组并发

聚合报告

并发50个用户,持续运行5分钟,完成71036次访问请求,最小响应速度为37ms,最大为2815ms,平均响应速度为210ms,与预期的快,访问成功率100%,符合预期的需求。

在这里插入图片描述

从下图可以看出从开始压测,并持续运行5分钟到结束,总共处理请求71036个,几乎所有请求的响应时间都在1秒左右,符合预期。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1SrDgg9X-1665629008342)(file:///C:\Users\cheche\AppData\Local\Temp\ksohtml7156\wps7.jpg)]

2)100个线程组并发

聚合报告

并发100个用户,持续运行5分钟,完成89001次访问请求,最小响应速度为36ms,最大为2050ms,平均响应速度为336ms,吞吐量在293.5/sec,比预期的快,访问成功率100%,符合预期的需求。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NqEeP3El-1665629008343)(file:///C:\Users\cheche\AppData\Local\Temp\ksohtml7156\wps8.jpg)]

从下图可以看出从开始压测,并持续运行5分钟到结束,总共处理请求89001个,几乎所有请求的响应时间都在1秒左右,符合预期。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cIZeWMIa-1665629008343)(file:///C:\Users\cheche\AppData\Local\Temp\ksohtml7156\wps9.jpg)]

3)200个线程组并发

聚合报告

并发200个用户,持续运行5分钟,完成95803次访问请求,最小响应速度为55ms,平均响应速度在1秒内,与预期的快,访问成功率100%,符合预期的需求。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bpvRjXhs-1665629008344)(file:///C:\Users\cheche\AppData\Local\Temp\ksohtml7156\wps10.jpg)]

从下图可以看出从开始压测,并持续运行5分钟到结束,总共处理请求95803个,几乎所有请求的响应时间都在2秒内,符合预期。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b7YtTFnX-1665629008344)(file:///C:\Users\cheche\AppData\Local\Temp\ksohtml7156\wps11.jpg)]

4)500个线程组并发

聚合报告

并发500个用户,持续运行5分钟,完成102473次访问请求,最小响应速度为88ms,最大为5188ms,平均响应速度为1462ms,并且吞吐量达到为340.7/sec,比预期的快,访问成功率100%,符合预期的需求。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Re8fEZGR-1665629008345)(file:///C:\Users\cheche\AppData\Local\Temp\ksohtml7156\wps12.jpg)]

从下图可以看出从开始压测,并持续运行5分钟到结束,总共处理请求102473个,几乎所有请求的响应时间都在3秒左右,符合预期。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-skVh6HNx-1665629008346)(file:///C:\Users\cheche\AppData\Local\Temp\ksohtml7156\wps13.jpg)]

5)1000个线程组并发

聚合报告

并发1000个用户,持续运行5分钟,完成17871次访问请求,最小响应速度为173ms,最大在15秒以内,平均响应速度为3290ms,与预期的快,访问成功率100%,符合预期的需求。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h7Q2NM9D-1665629008348)(file:///C:\Users\cheche\AppData\Local\Temp\ksohtml7156\wps14.jpg)]

从下图可以看出从开始压测,并持续运行5分钟到结束,总共处理请求91420个,百分之90的请求响应时间在5秒以内,符合预期。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VGCCklMO-1665629008349)(file:///C:\Users\cheche\AppData\Local\Temp\ksohtml7156\wps15.jpg)]

6)2000个线程组并发

聚合报告

并发2000个用户,持续运行5分钟,完成92777次访问请求,最小响应速度为365ms,最大在30秒以内,平均响应速度为6.5秒,与预期的快,访问成功率100%,符合预期的需求。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IouZ1sPD-1665629008349)(file:///C:\Users\cheche\AppData\Local\Temp\ksohtml7156\wps16.jpg)]

从下图可以看出从开始压测,并持续运行5分钟到结束,总共处理请求92777个,百分之95的请求在10秒左右响应,符合预期。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n4Bf76iV-1665629008350)(file:///C:\Users\cheche\AppData\Local\Temp\ksohtml7156\wps17.jpg)]

7)3000个线程组并发

聚合报告

并发3000个用户,持续运行5分钟,完成91124次访问请求,最小响应速度为809ms,平均响应速度在10秒内,吞吐量为298.0/sec与预期的快,访问成功率100%,符合预期的需求。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RL0ftyQV-1665629008350)(file:///C:\Users\cheche\AppData\Local\Temp\ksohtml7156\wps18.jpg)]

从下图可以看出从开始压测,并持续运行5分钟到结束,总共处理请求91124个,百分之90的请求在15秒左右响应,符合预期。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DumaZJhk-1665629008351)(file:///C:\Users\cheche\AppData\Local\Temp\ksohtml7156\wps19.jpg)]

8)4000个线程组并发

聚合报告

并发4000个用户,持续运行5分钟,完成80037次访问请求,最小响应速度为311ms,平均响应速度在15秒左右,百分之90的请求在30秒以内响应,比预期的快,访问成功率97.67%,符合预期的需求。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FfOjqKLS-1665629008352)(file:///C:\Users\cheche\AppData\Local\Temp\ksohtml7156\wps20.jpg)]

从下图可以看出从开始压测,并持续运行5分钟到结束,总共处理请求80037个,在开始一分钟时达到第一个峰值,表示请求挤压一定的时间,系统处理请求变得缓慢,此时jmeter发送的请求也变少,系统将积压的请求处理完成,到开始两分钟节点时,第二个峰值到来,响应时间由于系统一直处理高压事态,当jmeter发送请求略微变快,系统开始报错,但是百分之90的请求在30秒以内响应,符合预期。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GT0ZWckO-1665629008352)(file:///C:\Users\cheche\AppData\Local\Temp\ksohtml7156\wps21.jpg)]

八、结果

压测结果:

测试项并发数持续运行时间响应时间最小响应时间最大平均响应时间成功率总请求量吞吐量是否符合预期
预期结果50-40005min<1s<2min<20s100%>80000>200.0/sec*
系统XXXX实际结果505min37ms2815ms210ms100%71036236.7/sec符合预期
系统XXXX实际结果1005min36ms2050ms336ms100%89001296.5/sec符合预期
系统XXXX实际结果2005min55ms9632ms625ms100%95803319.0/sec符合预期
系统XXXX实际结果5005min88ms5188ms1462ms100%102473340.7/sec符合预期
系统XXXX实际结果10005min173ms14390ms3290ms100%91420302.7/sec符合预期
系统XXXX实际结果20005min365ms27540ms6474ms100%92777306.6/sec符合预期
系统XXXX实际结果30005min809ms113810ms9975ms100%91124298.0/sec符合预期
系统XXXX实际结果40005min311ms347362ms15489ms97.67%80037165.9/sec不符合预期

九、结论及建议

1.结论:

并发50-3000之间,持续时间5min,响应最小时间在一秒以内,平均时间在20秒以内,成功率100%,总请求在80000以上,吞吐量大于200/sec。压测发现硬件CPU及内存存在不足,并发数在2000时,请求的平均响应时间为30秒以内,平均每秒处理306个请求,但是当并发增加到了3000个时,服务器的平均响应速度变得很慢,但是每秒依旧处理将近300个请求,但是当并发到达4000个时,系统大量请求挤压,响应时间最长达5分钟,并且出现异常,系统每秒处理的请求数量也急剧下降到165个请求,如果此时大量请求持续进来,系统将宕机。

PS:该服务器还有一些其他服务运行这占有一定的CPU及内存对数据结果是存在一定的影响的。所以此数据只能作为参考值来看。

2.建议:

依照目前生产服务情况达到每秒3000并发,每秒吞吐量298.0将是极限,建议增加CPU及内存或作负载均衡,方可维护服务的稳定。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
嘉应学院 计算机学院 实 验 报 告 "课程名称 "软件测试 "实验名称 "压力测试工具"实验地点 "锡科405 " " " " "JMeter实践 " " " "指导老师 " "实验时间 "第11周 "提交时间 "第12周 " "班 级 " "姓 名 " "座 号 " " "一、实验目的和要求 " "学习目标:学习和掌握测试工具JMeter的使用。 " "知识要点:JMeter的要测试部件,创建测试计划和参数方法。 " "二、实验环境、内容和方法 " " " "实验环境:Windows 7 压力测试工具JMeter " " " "三、实验过程描述 " "1、JMeter的安装和运行 " " " " " " " " " "2、JMeter实例 " "多用户同时登录大学学籍管理系统 " " 运行badboy录制,在URL栏输入http://localhost:8080/myapp " " " " " " 将脚本导出为JMeter脚本 " " " " " " " "得到原始的JMeter脚本,用JMeter打开 " " " " " " " " " " " " " " " " " " " "修改原始脚本 " " " " " " " " 设置响应断言,添加响应文本 " " " " " " " " " " " " " " " " 添加聚合报告 " " " " " " " " 添加查看结果树 " " " " " "成功的请求 " " " "失败的请求 " " " " 使用"函数助手"从文件中读取数据 " " " " " " " " " "设置HTPP请求 " " " "3、查询MySql数据库 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "三、实验总结 " "JMeter主要用于性能测试。通过使用JMeter提供的功能,可以可视化地制定测试计划,包" "括使用什么样的负载、测试什么内容、传入的参数。同时,它提供了很多种图形化的测试" "结果显示方式,使我们能够简单地开始测试工作和分析测试结果。另外,JMeter作为一个" "开源工具,用户可以自由地对此工具进行扩展来满足自己的需要。测试计划描述了执行测" "试过程中JMeter的执行过程和步骤,一个完整的测试计划包括一个或者多个线程组(Threa" "d Groups)、逻辑控制(Logic Controller)、实例产生控制器(Sample Generating " "Controllers)、侦听器(Listener)、定时器(Timer)、比较(Assertions)、配置元素" "(Config " "Elements)。打开JMeter时,它已经建立一个默认的测试计划,一个JMeter应用的实例只 " "能建立或者打开一个测试计划。现在我们开始填充一 个测试计划的内容,这个测试计划 " "向一个jsp文件和一个servlet发出请求,我们需要JMeter模拟五个请求者(也就是五个线" "程),每个请求者连续 请求两次。 " ----------------------- JMeter实验报告全文共9页,当前为第1页。 JMeter实验报告全文共9页,当前为第2页。 JMeter实验报告全文共9页,当前为第3页。 JMeter实验报告全文共9页,当前为第4页。 JMeter实验报告全文共9页,当前为第5页。 JMeter实验报告全文共9页,当前为第6页。 JMeter实验报告全文共9页,当前为第7页。 JMeter实验报告全文共9页,当前为第8页。 JMeter实验报告全文共9页,当前为第9页。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白de成长之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值