【问题标题】:Unicorn vs Puma in clustered mode集群模式下的独角兽 vs Puma
【发布时间】:2015-05-03 15:13:14
【问题描述】:

我一直使用unicorn 作为我的应用程序服务器,但最近我注意到puma 现在有clustered mode,所以我想知道是否有任何理由在clustered mode 中使用pumaunicorn 考虑到我的代码不是线程安全的,因此我不能使用线程?

  • 我正在使用 MRI 2.2

【问题讨论】:

    标签: ruby-on-rails server unicorn puma


    【解决方案1】:

    这在一定程度上取决于您的应用程序。如果它有很多长时间运行的请求,您可能会看到一些好处,但如果是这种情况,考虑到您的限制,听起来 Thin 是一个更好的选择。

    Puma 与 Rubinius 或 JRuby 一起表现得非常好; MRI 中的 GVL 会导致它在 MRI 中表现不佳。因此,如果您的应用程序主要提供快速响应(例如 API 服务器),您不会看到从 Unicorn 切换到性能优势。

    有一些正式的基准测试 herehere

    【讨论】:

    • 我既不能将 puma 与线程一起使用(代码不是线程安全的),也不能使用 Thin(代码不是以事件样式编写的)。我有一个 vanilla rails 应用程序,我想知道假设有 3 名独角兽工人和 3 名 puma 工人每人有 1 个线程,在性能上是否有任何差异?
    猜你喜欢
    • 1970-01-01
    • 2014-11-19
    • 2013-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-15
    相关资源
    最近更新 更多