侧边栏壁纸
  • 累计撰写 31 篇文章
  • 累计创建 14 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

如何分析性能指标瓶颈?

AllyTester
2025-02-23 / 0 评论 / 0 点赞 / 43 阅读 / 0 字

性能瓶颈是导致系统性能下降的主要原因,及时发现并解决这些瓶颈,能够显著提升系统的响应速度和用户体验。本文将探讨性能测试中常见的性能指标瓶颈。

性能测试指标

  • CPU使用率:衡量CPU在一段时间内被使用的比例,反映了 CPU 的繁忙程度。

  • 内存使用率:系统中已使用的内存量占总内存量的比例,对于评估系统性能和稳定性至关重要。

  • 事务失败率:在一定时间内,系统处理的事务中失败的事务数量占总事务数量的比例。

  • TPS(Transactions Per Second,每秒事务数):是衡量系统处理能力的重要性能指标,反映了系统在单位时间内能够处理的事务数量。

  • 平均响应时间:在一定时间内,系统处理多个请求所花费时间的平均值。

常见瓶颈原因分析

CPU使用率瓶颈:一般漏洞

1.CPU使用率持续 >80%-90%

可能原因:配置太低;算法逻辑低效、复杂;大量临时对象分配引发频繁GC;大量磁盘网络I/O。

2.CPU使用率存在波动

可能原因

定时任务触发:每日报表生成、缓存刷新、周期性同步其他服务数据;

同步锁竞争:多个线程频繁争用同一锁,如数据库连接池争用;

I/O等待:磁盘或网络I/O阻塞导致CPU空闲后突增。

3.CPU使用率递增

可能原因:

内存泄漏:频繁Full GC导致CPU占用上升;

缓存失效或穿透:缓存命中率下降,大量请求穿透到数据库,如Redis缓存Key集中过期;

单次查询全量数据,未分页处理。

内存使用率瓶颈:高危漏洞

1.内存使用率 >99.99%

可能原因:配置太低、内存泄漏、被测服务事务需要占用的内存大。

2.内存使用率递增

可能原因:内存泄漏:未释放对象引用;数据库连接、网络连接等未正确释放。

事务失败率瓶颈:

只要遇到事务失败,一定要精准定位问题原因,确认是合法的错误还是不合法的。

可能原因:脚本参数化问题;JMeter的线程数数量不支持;请求超时:锁竞争;复杂查询未命中索引;大事务处理未分批次提交;网络延迟;网关限制;异步行为逻辑处理存在问题,易出现事务失败;被测服务连接数数量达到瓶颈,多出来的线程可能会被拒绝处理。

TPS瓶颈:

1.TPS随着时间递减

可能原因:内存泄漏

2.随着并发数的增加,TPS不变或缓慢递增

200并发=>200tps 300并发=>300tps 400并发=>300tps

可能原因:网关限流排队等待;数据库连接池限制;Nginx负载均衡。

平均响应时间瓶颈:

1.平均响应时间逐步递增

可能原因:内存泄漏、CPU使用率>99.99%、限流。

2.响应时间过大影响用户体验

可能原因:慢SQL;复杂的算法或代码逻辑;数据库连接问题(公网环境下);特殊的业务逻辑,比方说文件下载,文件拉取;服务器配置过低(CPU、内存、网络);限流机制触发阻塞等待逻辑。

0

评论区