性能测试流程
性能测试流程
注意要点
- 测试机器硬件配置尽量和线上一致
- 系统版本与线上一致
- 测试环境部署线上最小单元模块(一般线上都是集群部署,线下可以用最小的单元集群)
- 应用、中间件、数据库要与线上一致
- 其他特殊配置
数据构造
业务接口
-- 适合数据表关系复杂
-- 优点: 数据完整性比较好
存储过程
-- 适合表数量少,简单
-- 优点: 速度最快
脚本导入
-- 适合数据逻辑复杂
-- 自由度比较高
脚本编写
- 选择工具(LR、Jmeter、 Locust)
- 选择协议(Http、 TCP、RPC)
- 参数化(不能用相同的数据,所以需要用到参数化)
- 关联
- 检查点(业务是否真正的成功)
- 事务判断
压测执行
-
分布式执行(查看施压的机器jmeter占用的cpu是否很高,如果很高表示需要增加施压的机器)
-
监控
-- Linux
--Jvm
--数据库
-
收集测试结果
-
数据分析
-
瓶颈定位
调优回归
性能没有绝对的好坏,只有适合的才是最好的
- 性能调优需要整个团队完成
- 反复尝试
- 回归验证
- 监控工具
- 全链路排查
- 日志分析
- 模块隔离
- 问题不好排查的时候,用模块隔离,比如登录功能,第一步可能是参数校验,第二步可能是数据库查询,查看数据库中是否有这个用户,第三步可能是查看别的系统,是否是白名单……可以把每一个步骤都当成一个模块,把它隔离出来,比如登录后,不去做数据库查询,直接返回的就是成功,这样就把数据库隔离出来了,如果很快就响应出来,说明是数据库这块需要调优,把范围缩小了,排查问题就容易了
1.作者:yanzi_anqi
3.本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。