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參數,可以參考一下。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章