Twitter性能提升的秘籍

Twitter在过去很长的一段时间中由于高访问量的而导致严重性能问题,甚至宕机,在经过了一些优化以后,目前Twitter在这方面已经有了很大的改善。
来自Twitter的开发人员 Evan最近在QCon做了一个演讲,介绍了优化细节:
http://www.slideshare.net/Eweaver/improving-running-components-at-twitter

几个和Ruby相关的优化内容:
1. 采用了写入式缓存替代原先的读取式缓存,Twitter已经开源了这个插件 cache-money

2. 采用基于C库的memcached client取代原先的ruby库,通过改进的hash算法和multiget,从原先没有cache的情况下每秒3.23个请求可以提高到139.03个请求,这个库也是开源的,Evan还提供了Twitter 目前在用的稳定版本

3. Ruby的GC太差,用Scala改写了中间层的MQ Server,这里有一篇关于Twitter使用Scala的详细报道:
http://www.artima.com/scalazine/articles/twitter_on_scala.html

4. 给Ruby打了一些GC补丁,比如 MBARI/ Railsbench,速度有35%的提升。Evan还公布了Twitter设置的Railsbench patch GC参数,可以参考一下。

你可能感兴趣的:(scala,erlang,Ruby,Rails,twitter)