Twitter性能提升的秘籍

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

几个和Ruby相关的优化内容:
1. 采用了写入式缓存替代原先的读取式缓存,Twitter已经开源了这个插件[url=http://www.iteye.com/news/4480-twitter-gives-back-some-cache-to-rails]cache-money[/url]

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

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

4. 给Ruby打了一些GC补丁,比如[url=http://www.iteye.com/news/4592-resolve-memory-leaks-ruby-patch-release]MBARI[/url]/[url=http://github.com/skaes/railsbench/tree/master]Railsbench[/url],速度有35%的提升。Evan还公布了Twitter设置的Railsbench patch GC参数,可以参考一下。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章