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/

相关文章
相关标签/搜索