一)性能测试准备阶段
1.需求分析
①有明确需求
②无明确需求
2.建立性能目标
①选取业务场景
②并发用户数(线程数)
③TPS需求/事物吞吐率需求
④响应时间需求
⑤服务器资源使用情况–如:CPU、内存、disk,常用监控工具nmon、dstat
⑥数据库监控–如:主从延迟、数据库服务器磁盘IO
3.了解应用软件或系统
①系统体系架构
②开发语言
③通信协议
④权限认证等
4.了解软件部署平台 – 物理环境、硬件架构、操作系统、数据库、中间件等
5.建立系统负载模型
①业务层面
核心业务流程吞吐率
高峰期业务分布时段(二八原则)
②系统负载
高峰/平常场景吞吐率
系统资源:CPU、MEM、IO、NETWORK
③数据来源
服务器端监控
数据库日志
用户需求
6.制定项目计划和方案
二)搭建环境
1.测试机环境
①用例执行环境
RF
Jmeter
②各种监控工具
2.服务器环境
①部署代码
②各种监控工具
三)测试脚本开发
1.RF数据构造、删除等
2.Jmeter场景编写
四)测试数据准备
1.脚本生成
2.工具生成
五)测试执行
1.设置压力运行场景
2.资源监控
①Linux监控
监控工具:Nmon、Spotlight on Unix
监控命令:
CPU:top、uptime、dstat
内存:free、vmstat、dstat
磁盘:iostat、iotop、df、dstat
网络:ifstat、dstat
②数据库监控
Spotlight on Oracle/Mysql
Oracle:AWR
③Windows监控
perform
④JVM监控
3.监控应用运行状况–通过日志查看
4.确定测试机资源充分
5.检查是否内存泄漏
六)性能测试结果分析与调优