【问题标题】:Rails 4 Puma concurrency with CapistranoRails 4 Puma 与 Capistrano 的并发性
【发布时间】:2023-03-03 03:59:01
【问题描述】:

我正在尝试使用 capistrano 部署并发 Rails 4 Puma 应用程序,但对 capistrano-puma gem 的示例感到困惑。

来自github的狙击手

set :puma_threads, [0, 16]
set :puma_workers, 0
  1. puma中thread和worker有什么区别?
  2. 0 puma worker 和 [0, 16] 线程是什么意思?
  3. 实现并发的参数有哪些?我的目标是实现简单的 SSE 发送通知。在 puma 中最好的参数是什么?

如果这些问题很简单,我很抱歉,但即使在官方网站上我也很难在网上找到资源,如果有人能给我指出一篇回答我问题的文章,我很乐意接受。谢谢。

【问题讨论】:

  • 不是重复的,如果 capistrano 的部署脚本覆盖 puma 配置(或者如果 cero 意味着像答案一样的无限工人),则没有解释
  • @user793789 你有答案吗?

标签: ruby-on-rails multithreading capistrano puma


【解决方案1】:

工作者是正在运行的进程数或应用程序的实例数。 每个实例可以运行多个线程。因此,如果您有 2 个工作人员以最多 16 个线程运行,则意味着您的服务器一次可以服务 2 * 16 = 32 个请求,如果您的请求的平均响应时间为 100 毫秒,则意味着每秒可以服务的请求 = (1000/100) * 32 = 320rps 左右。

【讨论】:

    【解决方案2】:

    虽然没有在任何文档中找到,我想 set :puma_workers, 0 意味着无限的 puma 工人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-24
      • 2018-09-12
      • 2016-08-06
      • 1970-01-01
      • 1970-01-01
      • 2016-08-25
      • 2020-04-22
      相关资源
      最近更新 更多