性能测试——实战
一、实战
一、背景
二、性能测试过程
测试前期准备(前置⼯作)
序号
|
⼯作内容
|
负责⼈
|
时间
|
备注
|
1 |
测试场景梳理
|
小陈
|
2022.18-2022.18
|
|
2 |
资源采购(阿里云服务器)
|
李四
|
2022.18-2022.18
|
与⽣产保持⼀致
|
3 |
⽬标输出
|
小陈
|
2022.18-2022.18
|
|
4 |
测试数据的准备
|
小A
|
2022.18-2022.19
|
需要10万数据
|
5 |
人员不够
|
测试经理协调
|
2022.18-2022.18
|
测试工具引入
序号 |
⼯具
|
选择理由
|
备注
|
1 |
JMeter
|
开源,可以做常规以及并发测试
|
|
2 |
Locust
|
开源,基于协程,来测试服务稳定性这部分
|
验证服务是否出现崩溃
|
3 |
JVM监控⼯具
|
检测服务是否出现OOM
|
|
4 |
Grafana&InfluxDB
|
数据可视化报表展示
|
三、测试计划
1、背景
2、前置工作
人员配备
序号 | 工作内容 | 负责人 | 时间 | 备注 |
1 | 测试场景梳理 | 小陈 | 2022.18-2022.18 | |
2 | 资源采购(阿里云服务器) | 李四 | 2022.18-2022.18 | 与⽣产保持⼀致 |
3 | ⽬标输出 | 小陈 | 2022.18-2022.18 | |
4 | 测试数据的准备 | 小A | 2022.18-2022.19 | 需要10万数据 |
5 | 人员不够 | 测试经理协调 | 2022.18-2022.18 |
技术(工具)选择
序号 | ⼯具 | 选择理由 | 备注 |
1 | JMeter | 开源,可以做常规以及并发测试 | |
2 | Locust | 开源,基于协程,来测试服务稳定性这部分 | 验证服务是否出现崩溃 |
3 | JVM监控⼯具 | 检测服务是否出现OOM | |
4 | Grafana&InfluxDB | 数据可视化报表展示 |
测试范围
序号 | 场景 | 目标 | 负责人 | 时间 | 是否完成 | 备注 |
1 |
测试并发登录
|
满足100人同时登录
|
小A | |||
2 |
产品列表加载
|
同时满足50个人加载,响应时间小于5秒
|
小A | |||
3 |
产品搜索
|
同时满足50个人加载,响应时间小于5秒
|
小E | |||
4 |
同时⽀持执行API测试用例
|
响应时间小于5秒,最⼤并发100
|
小B | |||
5 |
上传⽂件最⼤⽀持2G
|
不能出现OOM
|
小C | |||
6 |
⽀持持续的发送API请
求
|
验证服务的稳定性
|
小D |
3、测试风险
四、测试设计与开发
1、JMeter工具

2、等待2秒后,可以保证每次都是启动100人

2、产品搜索
与登陆设置一样,有两种操作思路,操作中可以同时使用。当服务满足100个人同时登录时,再验证一下90和110个人同时登录的情况
3、产品列表加载
与产品搜索同理
4、同时支持执行API测试用例
首先在测试平台上设计相关的api测试用例,点击运行。打开jmeter填写测试用例,再考虑并发。
该场景有两种操作思路,通常一起使用更有说服力。当服务满足100个人同时登录时,再验证一下90和110个人同时登录的情况,设计思路与测试并发登录一致
测试最简单的方式:
在测试并发登录时,如需要满足50个人同时登录该测试平台,我们可以先测试一个人登录,看响应时间是否超过5s,如果超过5s表示需要优化,可不进行50个人同时登录该测试平台的测试,直接与开发沟通优化
5、上传文件最大支持2G(非功能性验证)
当被测平台的文件上传服务,最大支持上传2G的文件时,我们对平台做性能测试时,可以上传2G的文件,然后看上传过程中是否会出现timeout(解决办法:把文件先进行拆分,如拆分成4个500兆的文件,然后在进行上传,上传成功后再合并)、上传成功的文件是否会缺失或者上传成功的文件是否会乱码或者文件错乱。(出现socket表示网络层出现错误)
文件上传服务监控是否会出现内存泄露的步骤:打开JVM工具——获取pid——通过jvisualvm查看监控(CPU和memory)——页面操作文件上传——观察日志,如果日志中出现java.long.out of memory
6、⽀持持续的发送API请求
测试方式是:locust开发

将JMeter内新建的线程组信息运行,打开控制台,进入代码文件夹,输入命令locust -f storm_api.py
五、测试执行与管理
浏览器内输入网址:http://47.95.142.233:3000/d/Z6Jz03i7k/apache-jmeter-dashboard?orgId=1&refresh=5s
该链接信息中需要特别注意的几个结果如图:
summary的总述部分、响应时间、吞吐量和系统负载
六、测试报告
参与人员
测试人员 | 版本 | 备注 |
小A,小B,小C,小D,小E | V3.1.0 |
七、报告汇总
测试并发登录
测试结论:结果不符合预期,在100用户并发登录的情况下,响应时间最大是31.88S
过程数据
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报