性能工程高手课
庄振运
Facebook 性能优化和容量管理高级专家
24631 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 40 讲
性能工程高手课
15
15
1.0x
00:00/00:00
登录|注册

19 | 性能优化六大原则:三要三不要,快速有效地进行优化

彻底了解线程的特性,以优化线程为主
避免表面和肤浅的优化
在没有实际数据指标的基础上,为了一点点的性能提升而进行盲目优化是得不偿失的
过早的优化是编程中所有邪恶和悲剧的根源
根据产品的性能要求来决策
追求最合适的性价比
反复权衡利弊和取舍来做最终决定
在不同性能指标间权衡
考虑各种情况下的性能表现
考虑优化工作的投入产出比例
找出资源不够使用的原因
彻底的性能分析
降低CPU的使用率
解决最大的性能瓶颈
找到最大的性能瓶颈
不要表面的肤浅优化
不要过早的不成熟优化
不要过度地反常态优化
要考虑各种情况下的性能
要确诊性能问题的根因
要优先查最大的性能瓶颈
三个“不要”的原则
三个“要”的原则
性能优化的原则概述
性能优化的六大原则

该思维导图由 AI 生成,仅供参考

你好,我是庄振运。
今天我们进入了专栏的新模块:性能优化。在这个模块里,我会先从“性能优化的六大原则”开始讲起,然后再为你讲解实践中普遍采用的十个性能优化策略,并且分别针对 CPU、系统、存储以及跨层这几个领域,讲讲具体的优化案例。
我们今天先探讨性能优化的原则。在讲具体原则之前,我想先给你讲一个有趣的往事。
我曾经负责过一个存储服务的性能优化和容量效率。那个服务的容量需求很大,但它的最大性能瓶颈不是 CPU,而是存储的空间。
所以,虽然有很多人给我们各种建议,让我们花时间做 CPU 优化,我都尽量挡了回去。因为我知道 CPU 不是最大问题,所以坚持不懈地通过各种途径优化数据大小,甚至以牺牲 CPU 为代价。最后的结果很好,大幅度地降低了那个服务的容量需求。
在这个性能优化的场景,我们遵循了一个原则,那就是优先优化最大性能瓶颈。这其实就是马上要讲到的“三要”原则中的第一个。

性能优化的原则概述

在实际的性能优化中,我们需要考虑的因素很多,也经常需要在多个角度和目标间做一些平衡和取舍。为了帮助你把握这些,我个人总结出了六条原则,我把它们概括为:“三要,三不要”。
三个“要”原则是:要优先查最大的性能瓶颈,性能分析要确诊性能问题的根因,性能优化要考虑各种的情况。
三个“不要”的原则是:不要做过度的、反常态的优化,不要过早做不成熟的优化,不要做表面的肤浅优化。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

性能优化在软件开发中至关重要。本文介绍了性能优化的六大原则,包括“三要,三不要”。首先,要优先解决最大的性能瓶颈,因为这能带来最大的性能提升。其次,要确诊性能问题的根因,通过彻底的性能分析找出资源不够使用的原因。最后,要考虑各种情况下的性能,权衡不同性能指标,找到最优解。同时,不要过度地反常态优化,需要根据产品的性能要求来决策,避免过度优化增加系统复杂度和维护成本。文章还强调了不要过早的不成熟优化和不要表面的肤浅优化。正确的性能优化方式是找出性能的最大瓶颈,查出根因,并作出相应的最优优化。这些原则为读者提供了在实际性能优化工作中的指导,帮助他们更好地理解和应用性能优化的方法。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《性能工程高手课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(4)

  • 最新
  • 精选
  • 老师的这种讲法或思维是结果性的,具体怎做的会有详细介绍嘛?

    作者回复: 具体的措施,根据技术领域的不同有很多,后面也介绍了一些。

    2020-03-05
  • Wang
    庄老师,近期在验证tomcat 8 在NIO和APR两种模式下的性能差异。理论上APR在高并发的情况下性能更好一些,但是我验证的结果却是NIO的性能更好(同样的并发线程数,NIO模式的吞吐量更高,相同的吞吐量,系统的资源利用率相差并不大)。代码中只是设置了等待20或200ms然后打印输出字符,无任何逻辑。有些迷茫求庄老师帮忙分析一下,多谢🙏

    作者回复: Tomcat我不熟. :( 抱歉帮不上,你试试google一下?并且比较一下各个性能指标看看有没有hint?

    2020-01-09
  • 追风筝的人
    三个“要”原则是:要优先查最大的性能瓶颈,性能分析要确诊性能问题的根因,性能优化要考虑各种的情况。 三个“不要”的原则是:不要做过度的、反常态的优化,不要过早做不成熟的优化,不要做表面的肤浅优化。 优先 优化 系统最大的性能瓶颈
    2022-07-25
  • lazytortoise
    六个原则都挺重要的,做过度的、反常态的优化有感,盲目自信,用力过猛,影响范围增大,反而会影响业务。
    2021-05-05
收起评论
显示
设置
留言
4
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部