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

开篇词 | 代码不要眼前的苟且,而要效率的提升和性能的优化

庄振运 2019-12-02
00:00
08:03
讲述:庄振运 大小:7.39M
你好,我是庄振运。万分高兴能有机会和你分享我的知识和经验。
最近十年,我一直在美国硅谷工作,也非常关注中国的互联网发展,经常和国内同行交流。我曾经在 QCon 做过两次分享。感谢参会同行的青睐,两次都被评为“明星讲师”。
2019 年初,极客时间的编辑找到我,希望我能用专栏的形式作更多的分享。我确实也想总结一下这些年的知识、体验和感悟,于是就写了这个专栏。

得性能者得天下

过去的三十年,我们见证了互联网的蓬勃发展和风云变幻。虽然互联网公司潮起潮落,提供的服务也日新月异,但是互联网界一个永恒的追求就是性能和效率
程序员所写代码的性能直接决定了互联网服务的质量,也就决定了客户的去留。同时,互联网服务终归要运行在各种服务器上,公司需要部署数据中心和网络等容量,这些容量的效率直接影响了公司的运营成本。
所以,程序性能的优化和容量效率的提升也必然是每个互联网从业人员和公司的重要工作。
回首过去的学习、研究和工作经历,蓦然发现我已经专注于性能优化和容量效率这个领域将近二十年了。所涉及的范围也很广泛,从软件到硬件,从前端到后端,从服务器到数据中心,几乎涵盖了计算机和互联网的方方面面。平时,我也经常通过发表论文和参加会议的方式来总结和分享所学的知识。
这些年的从业经历也让我有机会对这一行业有些自己的观察、体会和思考。
首先,我注意到性能优化和容量效率的工作在 IT 界越来越重要
当今互联网服务的特点是大规模(大数据、用户多等)和高要求(低延迟、高吞吐等)。这样的特点也就要求服务的高性能和容量的高效率。
不夸张地说,当今互联网,得性能者得天下。对 IT 公司而言,提高了服务性能和容量效率也就降低了公司的运营成本,增强了公司的竞争力。
第二,性能和容量效率和每个 IT 从业人员息息相关
每个 IT 从业人员,尤其是程序员和运维,都需要关心服务性能和容量效率,这些知识会为自己的职业发展锦上添花,甚至是工作中不可或缺的。 性能和容量效率的知识对于每个程序员、运维、测试人员和管理人员都会有帮助。
具备了这些知识,程序员在开发软件时会写出高性能的代码;运维人员会懂得如何监测和提高系统的性能;软件测试人员会通览软件测试的分类和方法;管理人员可以了解如何进行容量管理,提升服务效率并降低运营成本,等等。
第三,性能优化和容量效率这一领域的工作是“越老越吃香”
在互联网行业工作,很多人担心的就是年龄问题。性能和容量领域的工作特点是需要多方面的知识和技能,以及实际的经验积累。这种学习和积累需要相当长的时间,不太可能一蹴而就。
我在很多硅谷公司工作过,周围的很多同事都是年龄比较大的。他们往往是技术牛人,是挑大梁的角色。公司为什么会重用这些“大龄员工”呢?就是因为他们能够帮助公司提升业务性能和容量效率,节省运营成本。随着公司业务规模的扩展,节省下来的成本也越来越大,公司也越来越离不开他们。
第四,这方面的工作要求比较特殊——需要广泛的知识面和软技能
除了软硬件结合的知识,以及理论联系实践以外,性能和容量效率的工作还需要各种软技能,从而和其他员工、其他团队有效地进行沟通和合作。 我用一张思维导图大体表示了这些知识和能力。
最后,这一领域和职业于总体而言缺少合适的介绍和相关资料
比如性能工程这个领域,虽然各种“性能测试”和“性能调优”相关的知识有很多,比如 JVM 调优、操作系统调优等,但是系统地介绍“性能工程”的资料很少。“容量效率和管理”方面,更是很少见了。就连“性能和容量工程师”这个职业也很少人讲。

专栏设计

性能问题通常是复杂的,性能工程师就像“医生”一样,需要懂得多方面的知识才能为“病患”确诊“病因”。
医生遇到病人,会“望闻问切”,利用 X 光等手段做各种分析。根据病人的表象和分析的数据,医生会做出诊断,确定是什么病。然后会开药方或者给予治疗。病人服药或者接受治疗后,会再次进行复检,来确定治疗效果。
性能工程师对待计算机和互联网的性能问题也是如此,会观察各种参数,甚至进行主动的性能测试。根据各种参数和性能测试的结果,可以做出分析,并最终确定性能问题的根因。这之后进行性能优化来消除对应的性能问题。采取优化后,还需要重新测试来验证问题是否真正解决,亦或是另有他因,从而需要重新分析。
我用下面这张图片来类比这两种场景。
第一个场景是医生诊断病情和治疗病人。第二个场景是性能工程师分析问题并且优化性能。你可以直观地看出两种场景中的每一步的相似之处。在专栏中,我也是根据这样现实中解决问题的思路(问题→测试→分析→优化→实践)来为你讲解的。
为了帮助你循序渐进地了解并掌握性能和容量工程相关知识,我将这个专栏的内容设置为八个模块,共 36 讲核心内容。
从今天开始,让我用 36 讲的课程,帮助你在性能和容量效率领域迈出坚实的 36 大步。学习完这个专栏之后,我相信你一定能对这一领域有更多、更广和更深的了解。
书山有路,勤劳为径;学海无涯,辛苦作舟。希望这个专栏可以成为这样的一条捷径和一叶轻舟,我们一起整装出发,扬帆起航。
有道是“知音难觅”。王勃在《滕王阁序》里也说过:“杨意不逢,抚凌云而自惜;钟期既遇,奏流水以何惭?”很荣幸能够和你在此相遇相知,一起学习交流,也欢迎你给我留言,说说你对性能优化和容量效率的看法和疑问。
取消
完成
0/1000字
划线
笔记
复制
unpreview
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《性能工程高手课》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(12)

  • 西西弗与卡夫卡
    性能功力也是工程师水平的分水岭之一
    2019-12-02
    13
  • 业余草
    书,买了等于读过;健身,办了卡等于练过;网络公开课,付了费等于学过;唯有吃的,买了才会吃完。只有在吃上,我们不自欺

    作者回复: 看样子以后需要加上考试,检查学习结果。通过考试可以发奖券啥的。😄

    2019-12-04
    2
    7
  • Simple
    老师一定饱读诗书

    作者回复: 哈哈,你说对了,我喜欢诗词,没事就背诵,有很多好处,包括锻炼记忆能力等等。

    2019-12-03
    4
  • 阿德
    非常期待,很多文章都在谈如何优化性能,但对如何进行性能测试及性能分析却说的很少
    2019-12-02
    2
  • Q
    性能工程是一门综合学科,糅合了很多门技术学科的知识,比如:操作系统、数据库原理、数据结构和算法、数学理论、运筹学等等。

    作者回复: 是,几乎都和性能有关系,各种知识不定啥时候就需要。:)

    2019-12-04
    1
  • vodaka
    请问老师,国外的软件公司或互联网公司有性能工程师这个职位吗?如果有,性能工程师的英文是什么啊?谢谢

    作者回复: 有的. 基本上叫 performance engineer. 你可以去linkedin搜一下。

    2019-12-19
  • NEVER SETTLE
    我对性能有着执着的追求
    2019-12-17
  • 旺旺
    性能是很重要的,在当前的大数据、云计算、人工智能背景下更显得重要,希望在老师的带领下能对性能工程有更多、更前面的了解!
    2019-12-06
  • ingsnow
    公司的高级性能QA比大多开发还厉害了,好多开发都不知道怎么调优。。。。
    2019-12-05
  • Dannier
    给年龄大的程序员指明方向,否则只能提退休了。
    2019-12-04
  • Christopher
    这个领域很感兴趣,是以后重点钻研的方向!

    作者回复: 赞!

    2019-12-03
  • 桃源小盼
    容量效率第一次听说,还不是很理解这个概念。
    2019-12-02
    1
收起评论
12
13
返回
顶部