puma vs passenger vs rainbows! vs unicorn vs thin 適用場景 及 performance

ruby的幾個web server,按照開發活躍度、併發方案及要點、適用場景等分析puma vs passenger vs rainbows! vs unicorn vs thin。git

1. thin: 長久未更新,github

2. unicorn: 未測試。web

3. opensource passenger or enterprise passenger:  open source版只支持多進程*1線程,enterprise版收費,但支持多進程*多線程。性能不如其宣傳的好,甚至比unicorn 和 puma差不少。ubuntu

4. rainbows!: 支持cluster模式,比puma的mem使用率稍高,ruby

5. puma: 支持cluster模式,支持多進程*多線程,可是我測試後發現,其多線程模型在原生ruby上對性能提高微乎其微。在jruby上內存消耗很是大,在robinus上則不穩定,折騰了很長時間。多線程

 

注意rails引用在採用多線程的web server方案時,須要注意其自己的thread.safe問題,請閱讀:參考連接5. 併發

 

測試環境是:bitnami_redmine 2.3.1版  ubuntu 12.04 64bitwordpress

---待完善。 性能

 

1. robin的puma vs rainbows介紹: https://ruby-china.org/topics/10832測試

2. rainbows官網:http://rainbows.bogomips.org/

3. puma : https://github.com/puma/puma/

4. thin : https://github.com/macournoyer/thin

5. rails 4 如下的 thread.safe 問題:https://bibwild.wordpress.com/2013/02/18/rails-and-concurrent-request-handling/

6. unicorn官網:  http://unicorn.bogomips.org/

相關文章
相關標籤/搜索