基本的性能测试的监控关键指标

 计数器

istio常用监控指标 用户监控指标_响应时间

 

 在HTTP请求中的用户名部分应用计数器中的参数组合成用户名:test${num}

 

业务流程的测试:

1、通常在所有的单接口性能指标都达到性能要求时,再进行业务流程的测试

  如果业务流程中涉及的接口有未达标,则先进行接口的问题定位和调优

2、根据业务流程的脚本需要,提前准备好测试数据(用户、商品、地址)和修改脚本(多用户登录购 买商品)

3、按照用例的要求分别模拟5/10/30/50/100用户并发请求,监控性能指标并分析结果

稳定性测试:

稳定性测试分析:

模拟正常的业务负载(用户实际使用时系统的业务负载/模型),进行长时间的性能稳定性测试

实际的业务模型获取方法:通过运营数据的统计来收集和分析

 

例如:

模拟200个用户,通过运营数据统计,发现200用户在不同的业务操作的分布如下:

istio常用监控指标 用户监控指标_业务流程_02

 

 

 

稳定性测试时,就需要针对不同的业务操作,分布模拟不同的用户数,进行长时间的稳定性测试(所有 的脚本并行执行) 

 

 

性能测试监控:

性能测试监控关键指标:

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. 分析调优结果