主要框架:Jmeter + badboy + nmon
特点:轻量级、监控简单、开源、灰盒、快速录制脚本、不依赖编程
性能插件
插件存放URL:/lib/ext/
tip:最好一个一个安装
- jmeter-plugins-manager(插件包管理器)
- 3 Basic Graphs(图形)
- 5 Additional Graphs(图形)
- PerfMon(资源监听器)
- 填写被测IP
- 打开代理ServerAgent
- linux -> .sh
- window -> .bat
- Auto-Stop Listener
- Azure backend listener(可无)
- Custom JMeter Funtion
- Custom Thread Group
开始
- 添加模拟线程组 Stepping Thread Group 并设置
- 添加需要的监听器
- badboy录制脚本并 -> expot to jmeter(或打开业务脚本jmx文件)
- 调试脚本的正确性
压力性能测试指标和分析
- 四大性能指标类型:响应、处理、资源消耗、网络
- 常见压力性能指标
- 最小、平均、最大响应时间
- 吞吐量
- 系统错误率(系统异常率/事务成功率)
- 行业标准<=0.6%
- 企业<=1%
- TPS
- HPS
- CPU、MAMERY使用率
- 标准<=80%
- CPU过高时最佳处理方式为升级硬件、提高主频(超频)
- 网络、磁盘I/O占用率(单位b/秒,字节/秒)
- 最大并发用户数、最大负载量
负载测试和压力测试的区别(Jmeter)
- 用户量一样,增加同一时间的操作为压力测试(加压)
- 操作一样,增加用户数为负载测试
性能测试的常见类型
- 基准测试:固定场景的指标测试
- 配置测试:专门检测和优化硬件性能
- 压力测试:专门检测多线程、多业务的压力场景
- 并发测试:专门检测同一段时间内相同的动作场景
- 稳定性压力测试:专门检测长时间多用户的场景
如何快速判断性能测试的瓶颈
- 开始首先关注总体的异常率
- 出现异常时,查看“用表格查看结果”(6/100)
- 偏离值越小,系统越稳定(一般为300以内)
- 资源消耗指标(先硬件指标后软件指标)
- 各个具体的指标数据
通过命令行监听资源消耗
window:任务管理器
性能监视器Perfmon
资源监视器resmon
linux:top查看CPU和内存
free查看内存
vmstat VM
iostat IO
sar CPU
linux:[[Nmon性能监控]]
术语
- 稳定性测试(性能烤机测试)Endurance Testing:一定软硬件环境下,长时间运行一定的负载,确定系统在满足性能指标下是否运行稳定,一般加大1.5-2倍
- 配置测试:为了合理地调配资源
- 标准差(偏离值)
- PV(page view):每秒用户访问页面的次数
- QPS(Query Per Second):每秒查询率
- I/O:吞吐量
- TSP:每秒(成功)事务数
- C平均并发 = n用户数 * l平均使用时间(h) / t可能使用的时间段长(h)
- 并发峰值:n + 开根号3的n
并发测试
- 流程
- 对应具体业务录制业务脚本
- jmeter调试业务脚本
- 添加同步定时器:设置并发数和触发时间
- 添加用表格查看结果
- 插件添加
- Running
–> [[性能测试综述]] –> [[性能监控]]