22 | 性能调优方法论:如何科学高效地定位性能问题?
尉刚强
你好,我是尉刚强。
一提起软件系统中的性能问题,可能你首先会想到的是 CPU 使用率过高,或是内存占用率太大,导致程序执行速度变慢,然后关注点只停留在软件实现层面的性能调优。
实际上,这种以最小化资源占用为导向的性能优化,它的核心目标是降低成本。但对于产品而言,最关键的其实是客户视角所关注的业务性能,比如用户的平均响应时延、99% 的用户响应时延分布等,而这类性能优化的核心目标是提升用户体验,提升产品的行业竞争力。
可是问题在于,在互联网服务领域,从客户视角去定位分析业务的性能问题,会有一定的挑战,主要原因有两点:
首先,针对一些存在业务性能问题的场景,其系统内的服务或组件,并不一定处于饱和状态,所以你不能直接从系统资源级监控中识别出问题;
其次,如果只是个别服务或组件处于饱和状态,往往也可以通过弹性扩展来更快地提升性能体验,所以这种也并不是最棘手的性能问题。
我们再来看看嵌入式领域,就拿无线通信领域来说,它也存在很多业务性能优化非常苛刻的场景,比如说 FTP 下载速率优化、速度平稳没有毛刺优化等。
那么在这类系统的实现过程中,导致出现业务性能问题的原因会更多更复杂,其问题可能发生在链路上任何一个网元设备内,或具体设备内的任何一个软件组件或硬件单元上。因此,定位分析业务层性能问题的挑战会更大。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了一套系统性能调优方法论,重点讨论了如何科学高效地定位软件系统中的性能问题。作者指出了传统性能优化的核心目标是降低成本,但对于产品而言,提升用户体验才是最关键的。文章强调了系统架构视图的重要性,包括产品业务模型、软件系统架构和组件或服务实现。在讨论潜在的性能瓶颈点时,作者提到了串行资源受限、缓冲类资源消息溢出和缓存命中率过低等软件实现可能引发性能问题的情况。此外,文章还介绍了一套相对系统且比较高效的性能问题定位分析方法,分为业务模型分析、软件架构分析和组件或服务实现分析三个层次。通过一个真实的性能问题案例,阐述了如何应用这套方法论来定位分析性能问题。整体而言,本文为读者提供了一套系统性能调优方法论,帮助读者更好地定位和解决软件系统中的性能问题。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《性能优化高手课》,新⼈⾸单¥59
《性能优化高手课》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(2)
- 最新
- 精选
- 小鱼儿吐泡泡如果业务中经常出现数据库查询时间比较长的情况,你一般都会怎么分析定位呢? 1. 查询 DB 当时负载情况,是否存在慢 sql; 慢 sql 有哪些;DB 锁等待情况 2. 通过第一步得慢 sql; 和业务反馈涉及得响应慢,进行印证; 若有则进行业务代码分析;2021-08-092
- 林铭铭由外到内,分层定位问题。2021-08-191
收起评论