Stoned's Blog

A startup hacker.

一次聊天服务器性能调优经历分享

导读:
这是我的一次性能调优经历的分享,我的本意不是分享我调优所获得的知识与经验,而是希望可以启发大家的思考。如天放所说,其实最有效完成一个目标的方式是用二分法,逐步找到问题的解决办法。但二分法的本质是趋利避害,是以目标为导向的方法,追求最短时间解决一个问题,追求最易解决问题的办法。二分法可能是高效地解决问题的好办法,但却不是学习的好方法。

“名人哲言”里有一句话,“上帝若為你關了一扇門,必然為你開另一扇門”,在这里,恰恰相反,“当你开了一扇门,你必然会关上另外一扇门”。当你用二分法解决了你的问题,并为此窃喜之时,或许被你关上的无数扇门了有你追求了许久的宝藏,这些宝藏一次次与你擦肩而过。从长远的角度来讲,二分法不见得是最高效的办法。

带着问题去学习,才是一个最高效的学习方式,在我们去完成我们的目标的时候,我们会碰到各种各样的问题,正是这些问题的存在,才让我们逐步减少因我们片段学习(我们的许多知识是通过google得到的)而产生的割裂性,逐渐完整化,系统化。而二分法在许多时候,会让我们规避掉这些问题,导致我们错失最好的学习机会。

在我的这次经验中,我获得了一些看起来很简单,但是却让我受益无穷的经验和知识宝藏,有了这些知识的夯实,我才能慢慢往更深的地方走去。或许可以这么说,二分法是一个解决问题的好办法,但不是一个提高知识深度的好办法。而提高你的知识深度,有时候,需要你违背二分法的原则,脑子缺根筋,在一条未知的路上反复探索,才能到达更深的地步。

理是这么个理,你需要有足够的智慧去区分什么时候需要用二分法,什么时候需要钻牛角尖。其实最简单的办法是看时间的要求,在时间紧张的时候,我们应该追求效率,在时间充裕的时候,我们应该追求深度,对问题穷追不舍。我觉得每个人都应该在快速的节奏下,停下来想一想,去深究一些问题,张弛有度才是一个健康的方式。这也是为什么我希望我们的开发节奏是一大一小穿插的方式进行的原因。(但看起来,大部分人都误用了小版本的用途,小版本最主要的目的是希望你能深究一些你碰到的难题,比如重构,比如UI效果,而现在大家却只用小版本来解决小bug…)

第二件,我想通过这次经历分享的是,面对未知原因的问题的时候,其实每个人都可以解决。用最笨的办法,用最小时候学过的做实验的办法。我们小时候做过许多化学实验,物理实验,老师通常会选一组参照物,最终通过与参照物对比的方式来得出我们的结论。所以我们碰到未知问题的时候,也同样的可以用这样的办法解决,但请注意最重要的一点,要保证参照物与实验对象只有唯一一点不同,这样结论才是正确的,否则实验没有任何意义。所以大胆假设,小心求证才显得如此重要。

有参照物的问题,每个人都有办法去解决,每个人都不要错过这样一个完美的学习的机会。

这次调优经历不见得是最高效,最好的方式,结果也不见得是最好的结果,但我想,希望我的这次抛砖引玉,可以给大家带来更多的思考。


ppt内容预览下载地址(可以用上一页,下一页翻页,这样就像ppt了):http://pan.baidu.com/s/1sjybu8X