<audio id="audio" title="用户故事 | “半路出家 ”，也要顺利拿下性能优化！" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/15/06/15528fd6e8673a64bae379a83df53906.mp3"></audio>

性能优化从来不是一件容易的事，学习相关知识自然也并不轻松。专栏更新至今，大家已经学习了五十多个案例和知识点。一路以来，有汗水有喜悦，有困难也有收获。你又是如何度过的呢？

这一期，我们邀请到了专栏学习期间，无论留言还是打卡都比较活跃的几个同学，让他们讲出自己的学习故事，分享自己的学习心得。

### 我来也

我是非计算机相关专业毕业的程序员，由于对编程很感兴趣而加入了程序员的大军。因为C语言学得很扎实，有幸在毕业后找了一份“码农”工作。从09年毕业到现在，我一直在武汉一家休闲游戏公司，从事休闲游戏服务端的开发，还没有换过工作。

作为服务端的开发人员，在平常工作中，我难免会遇到线上程序出现性能问题。跟不少人一样，我以前的分析方法比较“原始”。

有时候我完全靠猜，比如从最近的变动入手，推测可能是什么程序导致的。当然，确定了程序后，偶尔也会用二分法，找出哪部分代码是“罪魁祸首”。

有时候我也会查看一些Linux性能指标，不过，以前确实只会用top和vmstat，看看CPU负载、内存、磁盘、软中断等简单的性能指标。只有遇到具体的某个指标异常时，我才会“谷歌一下”分析方法。

显然，这样解决起“新”问题来，很不及时，也并不准确；而靠着“踩坑”来学东西的成本也有点高。不过，以前确实没能找到实惠又系统的学习方法，这一方面也只能久久搁置着。

碰到极客时间应该说是一种幸运。在极客时间上学了《从0开始学架构》《Go语言核心36讲》《数据结构与算法之美》等专栏后，我对专栏的质量很有信心。

所以，当《Linux性能优化实战》专栏出来的时候，我看到副标题“10分钟帮你找到系统瓶颈”，就毫不犹豫地购买了。当然，结果也没有令我失望，可以说是收获满满。

还记得，在学本专栏的《CPU性能篇》时，公司的服务器从某里云平台切换到了某迅云。没想到的是，刚学过的知识就立刻派上了用场。

之前服务器1分钟的平均负载一直在1以下，切换云以后，突然间歇性地升高到了14；就连5分钟的平均负载，都升高到了8。虽然业务暂时没有受到明显的影响，但本着负责的态度，再加上正在学习本专栏，我就想着用现学知识来分析一下原因。

我先收集了高负载时的软硬中断数、磁盘I/O、CPU负载、运行中的进程及线程等指标，确认了各项指标平稳，与低负载时无明显变化。因为把可能导致平均负载升高的指标都排查了一遍，运行中的程序队列也看过了，所以我首先排除了自身原因。

后来，结合观测时收集到的信息，我发现该负载的升高很有规律，几乎是间隔固定的时间触发一次，持续时长也很固定。而这个现象持续了近半个月后，在部署程序没有任何调整的情况下，服务器的平均负载又恢复了正常，负载再未出现异常升高的现象。

虽然我最终没能找到具体原因，但经过系统性的排查，明确排除了自身程序的嫌疑，知道了解决问题的方向。这对我来说，是个不小的进步。

其实在极客时间，我订购了不少专栏，有些专栏知识平常用的并不多，我就会粗学。而这个专栏，跟我的工作非常紧密，讲得也非常条理易懂，所以我一直学得比较细，专栏里的每个案例都会跟着老师过一遍。

我会用老师介绍过的性能工具，在生成环境中试试，看有没有指标异常，防患于未然。这样，在解决性能问题时，我就从以前的“被动应战”，变为现在的“主动出击”。即使是遇到突发情况，也能很快地定位大致位置。

另外，老师在留言和学习群里，都非常积极地解答同学们的疑惑，也让我学到了不少。可能是我的接触面有限，我觉得把老师专栏中的知识吃透，就足够我用了。 我会继续反复学习，把这些知识变成我自己的能力，希望大家也能有同样多的收获。

### hurt

我目前在北京，是一枚pythoner，参加工作已经三年多了。我的第一份工作是做web相关的开发，第二份工作则是做物联网后台开发。

就现阶段而言，开发上涉及到的业务方面比较多，对性能方面还没有过高要求。不过，如果想成为更优秀程序员的话，还是希望能在这方面有所提高，而不只是会应用而已。另外，因为我并不是计算机专业出身，平常也只看过一些Unix和Linux的书，所以想更系统、全面地有所提高。

我平常会利用上下班的地铁时间来学习专栏，因为自己对容器比较感兴趣，所以如果遇到相关内容，我就会比较系统地去操作和了解一下。毕竟，技术还是需要实际操作的，虽然目前来说，我还只是“见招拆招”的水平。

在学习专栏过程中印象比较深的是，老师特别负责和严谨的态度。有什么问题去问老师，老师都会尽快给出解决方案，而且有一次，还特意给封装了一份docker镜像，一次不行就又来了一次，很认真也很耐心。在这里，我先给老师点个赞。

虽然我目前没有跟上进度每篇都打卡，但是肯定不会放弃，会坚持努力去学习的，就像其他同学所说的，会有所收获。

作为一个买了三十多个专栏的极客时间老用户，我能感觉到，极客时间还是很用心地在做一件事情，而自己也跟着学习成长了。能让读者和作者很好交流，这一点真的很赞，很用心。希望我们大家共同进步吧，真的向极客出发。

### 渡渡鸟

我大学专业是化学，在2016年进入一家做政府网站的公司，担任实施工程师，职责就是教客户如何使用网站后台，技术含量几乎为零。2017年，我决定学习Linux，报了线上的培训班，在18年一月份终于学完，并于四月份跳槽成为了一名运维工程师。

对我而言，服务器性能调优是绕不过去的坎，这也是运维知识体系中最底层并且最难的一部分。在专栏学习中，这部分知识点主要氛围四个模块：CPU、内存、磁盘、网络，每个模块的学习又分成三步走：原理、指标、优化。

原理是最核心的，尤其是针对我这种半路出家，也没学过计算机原理和C语言的同学。这也是我学这个专栏，花费时间最多的地方。因为基础欠缺比较多，我还是要依靠百度和谷歌搜索给自己答疑解惑。不过尽管如此，在基础原理部分还是会有不理解的地方，这些一般就要选择性地跳过了，毕竟，过分地追究原理，也会严重影响性能学习的进度。

第二个指标，主要通过工具来获取，是定位问题和调优的依据。其实一些指标的要点，多看工具手册就能掌握，但重点是将指标和工具联系起来。这一点，在学完专栏后可以说是“神清气爽”，因为每个总结都很清晰到位。

最后的优化部分，先要根据性能指标找出问题，然后根据原理进行优化，最后再用工具衡量优化效果。这部分需要大量的经验，专栏中的案例也可以作为练手的好素材。

目前，性能优化专栏已经接近尾声，大部分内容学完后，我的收获很大。从开始学习到现在，我通过专栏中的方法，找到并解决了服务器上部分性能问题。这要是换做以前，我肯定不能这么“快准狠”地定位到问题。

在这里，我非常感谢专栏作者倪朋飞老师，如果不是刚好学到了这个专栏，想要掌握这些知识点和经验，花费的时间肯定要多很多。对我而言，时间就是钱，这个专栏真的是帮我省了一大笔钱。

当前网络上的大部分学习资料，要么不成体系，要么水平只是入门级，要么就是不够权威和准确。极客时间能邀请到这么多大佬开设专栏，确实是我这种学习者的福音。希望极客时间能越做越好，能将更多的知识带给更多的学习者。


