目录
这几篇博客是想把自己在做性能测试过程当中的一些知识点进行总结、归纳、分享。
性能测试的监控与分析
1.原理
1.1目的和意义
性能监控:在性能测试过程中,使用性能监测工具对被测业务,应用服务器,数据库,中间件,操作系统,网络等对对象进行监控和记录,可以做到了解系统的运行状态,捕获系统运行中的异常,记录各项监测数据,为后续的性能测试做好准备。
性能分析:通过对各项监测数据的分析,分析被测对象的性能表现,性能瓶颈,找到系统性能不足的地方,为后续性能调优做准备。
1.2 策略
(1)监控、分析的分层
性能测试中,要对各个不同的层级分别进行监控
- 业务层:响应时间、吞吐量、成功率
- 应用层:中间件、数据库
- 基础层:操作系统、网络、存储
(2)性能监控的透明化
性能测试中,应对各个监控对象透明化;不同的监控对象使用不同的专业监控工具,不要追求使用同一个工具完成所有的监控工作。
- 应用:哪个最耗时,执行了多少次
- 中间件:连接池、JVM、线程数是否合理
- 操作系统:哪个系统参数不合理
- 数据库:哪个sql语句慢,哪个参数不合理
- 主机:CPU、内存是否存在瓶颈
- 存储:IO的利用率,存储空间是否足够大
- 网络:带宽的利用率如何
(3)阈值
操作系统中监控常用的阈值
- CPU: Total Cpu % < 80%
SysCpu% < 30%
Load Average < (CPU核数)
- 内存:Mem% < 80~90%
- 磁盘:Disk Busy% < 60%
Disk queueing < 2 (单块磁盘)
Disk Wait/service Times < 20ms
Disk Usage < 95%
(3)性能阈值的定义
性能测试中阈值定义的来源渠道:以往经验值、业界最佳总结、测试数据、专业书籍的总结
(4)需要特别关注的测试信息,首先需要关注的信息有:
- 应用、工具的错误信息等
- HTTP Status Codes:HTTP状态码