news 2026/4/15 3:23:33

服务端性能瓶颈定位思路总结

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
服务端性能瓶颈定位思路总结

01 软件性能测试目标

软件性能测试的目的主要有以下三点:

  • 评价系统当前性能,判断系统是否满足预期的性能需求。

  • 寻找软件系统可能存在的性能问题,定位性能瓶颈并解决问题。

  • 判定软件系统的性能表现,预见系统负载压力,在应用部署之前,评估系统性能。

而对于用户来说,则最关注的是当前系统:

  • 是否满足上线性能要求?

  • 系统极限承载如何?

  • 系统稳定性如何?

02 软件性能测试中关键指标

资源指标

资源指标

  • CPU使用率:

    指用户进程与系统进程消耗的CPU时间百分比,长时间情况下,一般可接受上限不超过85%。

  • 内存利用率:

    内存利用率=(1-空闲内存/总内存大小)*100%,一般至少有10%可用内存,内存使用率可接受上限为85%。

  • 磁盘I/O:

    磁盘主要用于存取数据,因此当说到IO操作的时候,就会存在两种相对应的操作,存数据的时候对应的是写IO操作,取数据的时候对应的是是读IO操作,一般使用% Disk Time(磁盘用于读写操作所占用的时间百分比)度量磁盘读写性能。

  • 网络带宽:

    一般使用计数器Bytes Total/sec来度量,Bytes Total/sec表示为发送和接收字节的速率,包括帧字符在内。判断网络连接速度是否是瓶颈,可以用该计数器的值和目前网络的带宽比较。

系统指标
  • 并发用户数:

    某一物理时刻同时向系统提交请求的用户数。

  • 在线用户数:

    某段时间内访问系统的用户数,这些用户并不一定同时向系统提交请求。

  • 平均响应时间:

    系统处理事务的响应时间的平均值。事务的响应时间是从客户端提交访问请求到客户端接收到服务器响应所消耗的时间。对于系统快速响应类页面,一般响应时间为3秒左右。

  • 事务成功率:

    性能测试中,定义事务用于度量一个或者多个业务流程的性能指标,如用户登录、保存订单、提交订单操作均可定义为事务

  • 超时错误率:

    主要指事务由于超时或系统内部其它错误导致失败占总事务的比率。

03 性能问题排查的过程

在性能测试过程中,如果出现性能问题,需要测试人员重点关注资源指标和系统指标或者应用性能数据,系统指标是直接观测到的测试数据,比如响应时间过长,事物请求成功率低,超时错误率高等等。

当系统指标出现问题时一般会表现在资源指标上,比如cpu高,内存占用多,网络宽带占用高,连接数多等。

当观测到系统资源异常时,比如响应时间长,事物成功率低,超时错误率高等情况时。应该先查应用相关信息,比如日志,应用监控、数据库等等信息,如果这些信息没有问题,再对资源信息进行分析。

资源信息分析如下:

  • CPU问题分析:

    一般情况下CPU满负荷工作,有时候并不能判定为CPU出现瓶颈,比如Linux总是试图要CPU尽可能的繁忙,使得任务的吞吐量最大化,即CPU尽可能最大化使用。因此,一般判断CPU为瓶颈,主要从两方面:一是CPU空闲持续为0,二是运行队列大于CPU核数(经验值3-4倍),即可判定存在瓶颈,对于CPU高消耗主要由什么引起的,可能是应用程序不合理造成,也可能是硬件资源不足,需要具体问题具体分析,比如问题SQL语句引起,则需要跟踪并优化引起CPU使用过高的SQL语句。

  • 内存问题分析:

    一般至少有10%可用内存,内存使用率可接受上限为85%。当空闲内存变小时,系统开始频繁地调动磁盘页面文件,空闲内存过小可能是内存不足或内存泄漏引起,需要根据系统实际情况监控分析。

  • 磁盘I/O问题分析:

    磁盘I/O对于数据库服务器、文件服务器、流媒体服务器系统来说,更容易成为瓶颈,一般从以下几个方面对磁盘I/O进行分析判断:

    每磁盘I/O数可用来与磁盘的I/O能力进行对比,如果经过计算得到的每磁盘I/O数超过了磁盘标称的I/O能力,则说明确实存在磁盘的性能瓶颈。

    监控磁盘读写,如果磁盘长时间进行大数据量读写操作,且cpu等待超过20%,则说明磁盘I/O存在问题,考虑提高磁盘I/O读写性能。

  • 网络带宽问题分析:判断网络带宽是否是系统运行性能瓶颈的首要条件是网络带宽是否会影响系统交易执行性能。例如:减小网络带宽,并发用户数、响应时间与事务通过率等性能指标是否不能接受;或者增加网络带宽,并发用户数、响应时间与事务通过率等性能指标会得到明显提高。

在实际性能测试中,如果发现始终报连接超时,而实际手工访问可以正常访问,可以通过ping应用服务器IP或网关IP,如果出现网络严重延迟或丢包,则说明网络不稳定,需要检查网络。

通过对资源指标的分析,实际上各个方面都是互相依赖的,不能孤立的单从某个方面进行排查。

当一个方面出现性能问题时,往往会引发其他方面的性能问题,例如,大量的磁盘读写势必消耗CPU和IO资源,而内存的不足会导致频繁地进行内存页写入磁盘、磁盘写到内存的操作,造成磁盘IO瓶颈,同时,大量的网络流量也会造成CPU过载,所以,在分析性能问题时,需要从各个方面进行考虑。

软件性能测试是执行、监控、分析、调优不断进行的过程,即监控是为分析提供更多的参考数据,分析是为了进行调优,调优是解决当前系统存在的性能瓶颈,为用户提供更好、更快的客户体验。

由于分析、调优需要根据具体问题进行具体分析,本文未做过多说明,只对通用的关键指标进行监控分析,建议在实际工作中可从资源指标与系统指标两个方面,层层检测、步步排查,性能问题就无处藏身,一旦找到出现问题的原因,性能问题也就迎刃而解!

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/12 7:40:33

女生适合做网络安全运维工程师吗?

提到网络安全运维,有人会先入为主觉得是“男生专属”,但实际工作里,细心排查日志、耐心跟踪漏洞这些核心需求,女生反而更有优势。那么女生适合做网络安全运维工程师吗?我们一起来探讨一下。女生完全适合且能够成为优秀的网络安全…

作者头像 李华
网站建设 2026/4/12 18:52:00

【2025最新】基于SpringBoot+Vue的家电销售展示平台管理系统源码+MyBatis+MySQL

摘要 随着电子商务的快速发展,家电销售行业逐渐从传统线下模式转向线上平台,消费者对便捷、高效的购物体验需求日益增长。家电销售展示平台管理系统通过整合商品展示、订单管理、用户交互等功能,为消费者和商家提供了高效的信息交互渠道。该系…

作者头像 李华
网站建设 2026/4/11 18:31:29

python大学生体检预约小程序_8d2jb98a_Pycharm vue django flask

目录 已开发项目效果实现截图开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 已开发项目效果实现截图 同行可拿货,招校园代理 python大学生体检预约小程序_8d2jb98a_Pycharm vue django …

作者头像 李华
网站建设 2026/4/10 5:20:02

完整示例:Elasticsearch与Logstash一体化部署流程

如何构建一套高可用的日志分析系统?从 Elasticsearch 与 Logstash 部署说起 你有没有遇到过这样的场景:线上服务突然异常,排查问题时却只能登录十几台服务器一台台 grep 日志;或者业务方需要统计某个接口的调用趋势&#xff0c…

作者头像 李华
网站建设 2026/4/13 15:33:25

【收藏级】详解智能体应用——合同审查Agent从架构到实战

合同审查是企业经营与个人民事活动中的高频需求:对个人而言,部分格式合同虽无协商空间,但关键条款核查仍能规避潜在风险;对企业来说,这更是风控核心——大公司通常配备专职法务团队负责合同审核,而大量中小…

作者头像 李华
网站建设 2026/4/14 15:39:34

网络安全工程师的三个坎,该如何“破局”?

前言: 老李在一家大型互联网公司做高级网络安全工程师,从实习生到工程师整整呆了六年。去年他们公司为了缩减成本,做了裁员,他也在其中,取而代之的是一个只有三年工作经验的… 老李想着,自己也有多年工作…

作者头像 李华