一、性能测试流程
- 性能需求分析
- 性能方案设计
- 业务建模、脚本优化
- 执行测试、收集性能数据
- 结果分析、性能测试报告
二、性能需求分析
- APP非常规作业:登录、搜索、预约列表
- 需要压测的业务满足条件:核心,用户量,与外部接口对接。。。
性能指标:
非硬件:50%响应时间line<1s,90%响应时间line<1s,TPS,事务成功率100%(响应时间几十毫秒到几百毫秒)
硬件:CPU内存<=70%
性能测试结果统计表写法

三、性能方案设计

单业务:登录(单一业务)
基准:30min 2w登录(客户给出的标准)
综合:登录,搜索(多个业务按比例测)
综合业务稳定性测试:7*24小时(连续压测反应真实场景)
经过分析,非常态作业APP只做单业务的压测(登录)
性能场景:
1秒启动所有的线程(20个),压测5分钟,观察性能指标(项目小,且不知道具体情况,需一点点摸索性能瓶颈)
四、业务建模、脚本优化
1.抓包获取接口数据(接口文档拿到接口数据)
输入数据点击登录按钮—浏览器检查获取接口数据

协议:http
ip:1.13.21.195
端口:9090
http请求方法:post
路径:/api/user/login
入参格式:json
负载数据–查看源




2.jmeter调试接口

添加HTTP请求

按抓取到的接口信息填写http请求内容

添加结果树

点击run执行发送

发送失败(报错显示为不支持的媒体类型)
发送类型为text/plain格式,不是json

添加json发送类型

添加20个线程,压测5分钟

添加聚合报告查看非硬件指标:50%响应时间line<1s,90%响应时间line<1s,TPS,事务成功率100%(响应时间几十毫秒到几百毫秒)

添加csv文件,大量登录

通过数据库构造数据,生成csv文件

执行后生成函数

生成10000个数据

jmeter引用数据,更改入参变量


先简单跑一下看有没有问题,没问题正常测

五、结果分析、性能测试报告

最终结果


服务器瓶颈:30个线程
结论:CPU配置过低,建议升级
CPU使用率过高,mysql服务器占比太高
六、性能调优
结果:mysql加索引

mysql命令

10万+

被折叠的 条评论
为什么被折叠?



