一、分析业务场景
1.需求调研和收集:用户调查、业务方咨询、同类型软件对比
2.场景可能存在什么问题,譬如同时登陆、提交、上传、交叉请求
3.获取性能指标:吞吐量、平均响应时间<Ys
二、确定应用领域
1.能力验证:系统能否在A情况下具有b的能力?
2.容量规划:系统如何调整才能满足何种需求?
3.发现瓶颈:瓶颈定位、重现、没有特定的性能指标。
4.基准比较:敏捷开发中,通过每次迭代编号判断是否到达预定目标。
三、设计测试方案
1.开始时间和结束时间
2.测试环境配置:局域网、虚拟机、操作系统、数据库、中间件等
3.人员:谁负责哪些任务
4.测试方法和策略
5.产出物:测试方案、分析结果
四、设计测试脚本
1.脚本要符合业务逻辑,可用性强
2.脚本获取方式:工具录制、代码实现
五、准备测试数据
1.拉取生产数据,尽量保持数据一致性以及量级足够
2.利用脚本生成数据,入利用jdbc预埋数据
六、执行测试脚本
1.对测试结果进行记录
2.监控工具:windows,linux自带计数器、第三方监控工具
3.展现方式:折线图、统计图、表格等方式
七、监控资源消耗
1.cpu监控
2.内存监控
3.磁盘监控
4.网络监控
5.连接池监控
6.数据库监控
八、瓶颈定位分析
1.吞吐量 :二八原则,即80%的业务在20的时间内完成
2.响应时间:2/5/10原则
3.内存、磁盘、IO、进程、网络分析法
4.由易到难法:硬件-操作系统-中间件-应用瓶颈
九、性能调优验证
1.综合考虑调优方式:时间资源、人力资源、硬件资源、扩展性、响应等
2.调优是一个不断debug不断验证的过程
十、报告跟踪
1.产出物:测试结果、报告
2.延伸:性能持续跟踪,观察变化