性能工程高手课
庄振运
Facebook性能优化和容量管理高级专家
立即订阅
2033 人已学习
课程目录
已更新 10 讲 / 共 36 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 代码不要眼前的苟且,而要效率的提升和性能的优化
免费
开篇:认识代码性能和系统容量效率 (3讲)
01 | 程序员为什么要关心代码性能?
02 | 程序员也要关心整个系统和公司成本吗?
03 | 导读:专栏是怎么设计的?需要哪些知识?
性能定律和数理基础 (5讲)
04 | 性能工程三定律:IT业和性能优化工作的“法律法规”
05 | 概率统计和排队论:做性能工作必须懂的数理基础
06 | 性能数据的分析:如何从大量数据中看出想要的信号?
07 | 性能数据的展示:一图胜千言,说出你的数据故事
08 | 经验总结:必须熟记的一组常用性能数字
性能测试 (1讲)
09 | 性能测试的种类:如何快准狠地抓住一个测试的本质?
性能工程高手课
登录|注册

03 | 导读:专栏是怎么设计的?需要哪些知识?

庄振运 2019-12-02
你好,我是庄振运。
在前面两讲中,我们看到了性能优化和容量效率提升的重要性,如果程序员在这方面的技能和知识有欠缺,只知道写代码,那么写出来的代码很可能效率低、性能差。在代码性能差的情况下,如果你再被老板或者同事威逼利诱去做性能优化,那么就成了赶鸭子上架的苦差事了,你只能感叹:“问君能有几多愁,恰似写完代码去调优”。
玩笑开完,我们还是从正能量的角度去看一看吧。
这就要从一个典故说起了,美国福特汽车公司当年要排除一台大型发动机的故障,请了很多专家,但都束手无策。最后请来了著名的电机专家斯坦门茨(Charles Proteus Steinmetz)。斯坦门茨仔细检查了机器后,用粉笔在机器外壳的某处画了一道线,然后说:“把做记号处的电机线匝减少 16 圈。”难题居然就迎刃而解了。
斯坦门茨索要了 1 万美元作为报酬,很多人觉得实在是太多了。因为当时福特公司最著名的薪酬口号就是“日薪 5 美元”,也就是说一个工人每年能赚 1 千美元已经是很高薪了。但是斯坦门茨回答道:“用粉笔画一条线,顶多值 1 美元;但是知道在哪里画线值 9999 美元。”当公司总裁福特先生得知后,十分欣赏斯坦门茨,并很痛快地给了 1 万美元的酬金。
我们做性能工作也是如此,虽然性能优化的方法和最终解决方案或许看起来很简单直白,但是要知道在哪里做优化做什么样的优化,却需要很多的测试和分析的工作经验。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《性能工程高手课》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(15)

  • Jxin
    做过好几次调优了。面对这个专栏。依旧是如获至宝的感觉。对后边的章节表示很急。如果是已完结,我可能会一两天就追完。
    2019-12-03
    3
  • silence
    老师,看了前三节,对后边的章节很急。

    作者回复: 哈哈,谢谢。一定尽量把质量做得更好。

    2019-12-03
    2
  • Cranliu
    性能优化将会是未来发展的一个重要方向,很荣幸能和大师达到一些思想上的共鸣。
    2019-12-03
    2
  • 西西弗与卡夫卡
    不只是性能问题,复杂问题都需要有比较广的知识,然后大胆假设,再通过实践验证。
    2019-12-05
    1
  • Linuxer
    搞性能测试和性能调优这块也有段时间了,总是感觉知识不够,想请问一下庄老师想系统学习下性能工程有什么书籍可以推荐吗?

    作者回复: 这个领域很广泛,不是几本书就能学会的。
    每本书侧重点不同。我觉得Brendan Gregg的《性能之巅》还不错,也比较宏观,你可以看看。

    2019-12-04
    1
  • 旺旺
    路漫漫其修远兮,我将上下而求索!
    2019-12-09
  • Vivian
    1. 我們有過 ETL的轉檔 前面若有一個因為資料量突然過大(如該天訂單量大) 導致第一個ETL, 無法如期轉完畢. 導致後面的ETL 所產生的報表資料都會錯誤 XD
    這是我自己遇到的 我們沒有很好的解決方案 老師有建議嗎
    我們只有將ETL的執行距離調開 也有將database 的raw table 分開. 比方說 Order table 分兩個
    一個是10天內的 另外一個就是剩餘其他的日期的

    作者回复: 如果我理解对的话,你的问题是,每天资料的处理时间不能保证。你可以考虑加个标志(就是处理完后,把标志set一下)。这样下游的流水线处理之前,先检查上游标志在运行,这样就不会出错了。
    或者你要是想保证时间性,只能把你的处理尽量并行化,而且根据工作量的大小,自动调整并行度。

    2019-12-06
  • 我来也
    “彻底解决这个问题需要和其他人和团队合作吗?”
    这个必须要啊!

    血的教训:
    有时即使你找出了别人程序的问题,也给别人指出来了,或者提供了改进意见。
    但是,别人可以不叼你啊!!!

    如果要解决的是他人项目中的问题,最终必须要别人配合才有可能解决。
    这就需要一些软技能。
    放低姿态,给别人留面子,让别人觉得最终好像还是他自己解决的。
    指出别人程序的问题时,最好不要在公开场合,你懂的。
    2019-12-05
  • 旭东
    能力想强悍就要能软能硬,能干关键还要知道在哪干
    2019-12-05
  • ingsnow
    公司的应用,数据库用mysql的话,总会碰到一个问题,连接数超过一定数目后,tps就上不去了,不知道怎么解决,只有让开发改代码吗?已经用了pool了

    作者回复: 得具体问题具体分析。让开发改代码可以,一般得告诉他们问题在哪里,怎么改。否则他们也一头雾水。

    2019-12-05
  • kkk
    感觉自己很多时间对问题的直觉很准,但是不知道怎么具体去确定和量化,希望能跟着老师学一些量化和解决问题的方法
    2019-12-05
  • 许童童
    老师的课让我对性能优化和容量效率产生了极大的兴趣,希望跟着专栏学下去,自己可以在性能方面有所收获,日拱一卒。

    作者回复: 谢谢鼓励!很欣慰能对你有帮助。

    2019-12-04
  • catalsdevelop
    我觉得这门课程的内容非常适用于 fullstack 和 devops 工程师,非常棒。

    作者回复: 谢谢!

    2019-12-04
  • 欠债太多
    每次遇到性能测试和调优,都是一顿上网,零碎而散乱,希望这次可以补上短板,以后可以从容面对

    作者回复: 恩,如果这个专栏对你能有帮助,我就很欣慰和高兴了。欢迎学完后提建议和感想 。

    2019-12-03
  • 夜空中最亮的星(华仔)
    你咋才来啊,老师 ,我就是运维。感觉运维成长有点缓慢了,还好您来了

    作者回复: 谢谢!一起进步!

    2019-12-02
收起评论
15
返回
顶部