14 | 性能分析概述:性能问题归根结底是什么原因?
庄振运
该思维导图由 AI 生成,仅供参考
你好,我是庄振运。
前面几讲,我们讨论了有关性能测试的内容,了解了各种测试的种类、测试的规划、测试的工具以及执行测试的经验教训。在整个性能优化的世界里,性能测试是基础,在这一基础上,我们才能对各种性能问题进行性能分析,并进行相应的性能优化。
从这一讲开始,我们来探讨一下常见的各种性能问题,和如何进行相应的性能分析。我们首先宏观地介绍一下性能的外部指标、内部瓶颈和资源制约,以及如何正确地进行性能分析。然后接下来的几讲分别重点讨论 CPU、内存、存储和网络几个领域。
性能的外部指标
谈论应用程序系统和互联网服务的性能时,我们首先要清楚外部的性能指标是什么。最重要也最普遍的指标有三个:服务延迟(Service Latency)、吞吐率(Throughput)和资源使用率(Resource Utilization)。我们分别来看看。
服务延迟
服务延迟(或者叫访问延迟),指的是客户发出的请求被成功服务的时间。
虽然具体的定义和度量有很多种,比如有些度量只考虑系统本身的服务时间,而不考虑其它因素(比如网络传输时间)。但我个人坚持,这个指标是直接针对客户体验的,因此不能仅仅从自己的系统角度衡量,而必须是端到端的延迟度量(End To End, or E2E)。因为只有这样来定义这一指标,才能准确地抓住“外部性能”这一特点。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文深入探讨了性能问题的根本原因和解决方法,强调了性能分析和优化的重要性。文章首先介绍了性能测试的基础知识和外部性能指标,包括服务延迟、吞吐率和资源使用率,并列举了十大性能瓶颈。作者强调了依据数据和剖析进行性能分析的科学方法,并提到了性能分析和优化的第一原则。在总结部分,作者引用了儒家思想“格物致知”,强调了深入探究性能问题的重要性,以及根据实际数据和测试结果解决性能问题的必要性。最后,作者提出了思考题,鼓励读者分享自己的思考并与他人讨论。整体而言,本文内容丰富,对于需要了解性能优化的读者具有很高的参考价值。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《性能工程高手课》,新⼈⾸单¥59
《性能工程高手课》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(7)
- 最新
- 精选
- Ethan Liu老师,go语言有什么profiling工具?
作者回复: Go也有相应的剖析工具的,比如https://golang.org/pkg/runtime/pprof/。搜一下应该还有其他更好更新的。
2020-04-07 - David.cui老师讲的十大性能瓶颈的那个图很好,但是太理论了。具体到某个操作系统中的时候,该怎样查看具体的性能值呢?
作者回复: 每个瓶颈都是千言万语。我建议你从Linux Performance入手,一是Linux用的多,二是参考资料多。
2020-03-20 - LQQ老师,我有个问题,对于资源使用率的监控这块,我们公司现在用的是k8s,可能有十几台机器,这样的话要怎么监控?
作者回复: 集群/远程监控应该有很多解决方案的,比如New Relic, App Dynamics。
2020-02-28 - 15652790052老师,问几个问题: 对服务进行压测,那么压测的目标是什么?我理解的是尽可能让系统资源利用率高(如 cpu 80%),如果达不到就分析瓶颈。是这样的么?
作者回复: 我觉得最好的指标和目标是客户的性能,比如Online的用户延迟;具体目标可以是平均延迟,或者百分位延迟,比如P99不超过1秒等。高百分位用的比较多。
2020-01-02 - 王治澎配上思维导图,整个知识树越来越高2019-12-293
- A君影响性能的三个指标,延迟、吞吐率和资源使用率。延迟是用户的真实体感,吞吐量与硬件容量成正比,资源使用率则决定了软件能否达到理论吞吐量以及在高吞吐量下的延迟。性能问题本质上是缺资源的问题,在某个地方程序缺少某些资源导致它卡住了。2021-03-18
- 钱手动点赞“十大性能问题瓶颈图”,基本是这十个地方可能存在性能问题,那什么现象能表示具体问题出在哪里?以及怎么确认自己的猜想?怎么一步步抽丝剥茧的定位到问题?有点福尔摩斯的味道,元芳你怎么看?2020-03-04
收起评论