基本的性能测试的监控关键指标
计数器
在HTTP请求中的用户名部分应用计数器中的参数组合成用户名:test${num}
业务流程的测试:
1、通常在所有的单接口性能指标都达到性能要求时,再进行业务流程的测试
如果业务流程中涉及的接口有未达标,则先进行接口的问题定位和调优
2、根据业务流程的脚本需要,提前准备好测试数据(用户、商品、地址)和修改脚本(多用户登录购 买商品)
3、按照用例的要求分别模拟5/10/30/50/100用户并发请求,监控性能指标并分析结果
稳定性测试:
稳定性测试分析:
模拟正常的业务负载(用户实际使用时系统的业务负载/模型),进行长时间的性能稳定性测试
实际的业务模型获取方法:通过运营数据的统计来收集和分析
例如:
模拟200个用户,通过运营数据统计,发现200用户在不同的业务操作的分布如下:
稳定性测试时,就需要针对不同的业务操作,分布模拟不同的用户数,进行长时间的稳定性测试(所有 的脚本并行执行)
性能测试监控:
性能测试监控关键指标:
1、系统指标:与用户场景与需求直接相关的指标(并发数、响应时间、吞吐量)
2、服务器资源指标:硬件服务器的资源使用情况的指标
CPU:CPU使用率、CPU使用类型(用户CPU、系统CPU)
内存:实际内存、虚拟内存
磁盘:IO速度(input/output)—— 磁盘等待队列
网络:带宽
3、JAVA应用 : JAVA应用程序在运行时的各项指标
4、数据库:数据库服务器运行时需要监控的指标
5、压测机资源指标:测试机在模拟用户负载时的资源使用情况
注意:一般情况下,测试人员执行性能测试时,只需要关注1、2、5就可以,判断系统是否有性能问题 而开发人员要定位性能问题时,需要再次运行,并监控所有的性能指标,来进行分析并调优
系统指标:
可以直接用来衡量系统处理能力的指标是(吞吐量)
在系统处于轻压力区(未饱和)时,并发用户数上升,平均响应时间(基本不变),系统吞吐量 (上升)
在系统处于重压力区(基本饱和)时,并发用户数上升,平均响应时间(上升),系统吞吐量(基 本不变)
在系统处于崩溃区(压力过载)时,并发用户数上升,平均响应时间(上升),系统吞吐量(下 降)
性能测试瓶颈分析
在实际的性能测试中,会遇到各种各样的问题,比如TPS压不上去,导致这种现象的原因很多,作为测试人员应配合开发人员进 行分析尽快找出瓶颈的所在。
常见性能瓶颈分析:
1. 服务器资源分析
CPU瓶颈分析
CPU已压满(接近100%),需要再看其他指标的拐点出现的时刻是否与CPU压满的时刻基本一致
内存瓶颈分析
内存不足时,操作系统会使用虚拟内存,从虚拟内存读取数据,影响处理速度
磁盘I/O瓶颈分析
磁盘I/O成为瓶颈时,会出现磁盘I/O繁忙,导致交易执行时在I/O处等待
网络带宽
如果接口传递的数据包过大,超过了带宽的传输能力,就会造成网络资源竞争,导致TPS上不去
2. JVM瓶颈分析
分析JVM的内存
3. 数据库瓶颈分析
慢查询
数据库的连接池设置太小,导致数据库连接出现排队
数据库出现死锁
4. 程序内部实现机制
5. 压测机
JMeter单机负载能力有限,如果需要模拟的用户请求数超过其负载极限,也会导致TPS压不上去
性能调优
性能调优的步骤
1. 确定问题:根据性能监控的数据和性能分析的结果,确定性能存在的问题(要求)
2. 确定原因:确定了问题之后,对问题进行分析,找出问题的原因
3. 确定调整目标和解决方案(改服务器参数配置/增加硬件资源配置/修改代码)
4. 测试解决方案
5. 分析调优结果