Fork me on GitHub

性能测试流程

性能测试流程

注意要点

  • 测试机器硬件配置尽量和线上一致
  • 系统版本与线上一致
  • 测试环境部署线上最小单元模块(一般线上都是集群部署,线下可以用最小的单元集群)
  • 应用、中间件、数据库要与线上一致
  • 其他特殊配置

数据构造

业务接口

​ -- 适合数据表关系复杂

​ -- 优点: 数据完整性比较好

存储过程

​ -- 适合表数量少,简单

​ -- 优点: 速度最快

脚本导入

​ -- 适合数据逻辑复杂

​ -- 自由度比较高

脚本编写

  • ​ 选择工具(LR、Jmeter、 Locust)
  • ​ 选择协议(Http、 TCP、RPC)
  • ​ 参数化(不能用相同的数据,所以需要用到参数化)
  • ​ 关联
  • ​ 检查点(业务是否真正的成功)
  • ​ 事务判断

压测执行

  • 分布式执行(查看施压的机器jmeter占用的cpu是否很高,如果很高表示需要增加施压的机器)

  • 监控

    -- Linux

    --Jvm

    --数据库

  • 收集测试结果

  • 数据分析

  • 瓶颈定位

调优回归

性能没有绝对的好坏,只有适合的才是最好的

  • 性能调优需要整个团队完成
  • 反复尝试
  • 回归验证
  • 监控工具
  • 全链路排查
  • 日志分析
  • 模块隔离
    • 问题不好排查的时候,用模块隔离,比如登录功能,第一步可能是参数校验,第二步可能是数据库查询,查看数据库中是否有这个用户,第三步可能是查看别的系统,是否是白名单……可以把每一个步骤都当成一个模块,把它隔离出来,比如登录后,不去做数据库查询,直接返回的就是成功,这样就把数据库隔离出来了,如果很快就响应出来,说明是数据库这块需要调优,把范围缩小了,排查问题就容易了
posted @ 2021-06-18 13:47  yanzi_anqi  阅读(70)  评论(0编辑  收藏  举报
页脚Html代码