Puma WEB_CONCURRENCY 是基于 Heroku 的每个 Dyno 吗?

Is Puma WEB_CONCURRENCY on a per Dyno basis for Heroku?

我在 Heroku 上使用 Puma 网络服务器,目前有 3 个标准的 2x 测功机。该应用程序 Ruby Rails。

我的理解是,在 /config/puma.rb 中增加 WEB_CONCURRENCY 会增加 puma worker 的数量,但会增加 RAM 使用量。

当前设置:

workers ENV.fetch("WEB_CONCURRENCY") { 5 }

问题:

5 并发工作人员是基于每个测功机还是总体? 如果我有 3 个测功机,这是否意味着我有 15 个工人,还是只有 5 个?

我之前一直在寻找一种方法来检查现有工人的当前数量,但在 Heroku 上找不到任何命令来执行此操作。

是的,网络并发是基于每个 dyno 的。
每个 dyno 都是一个独立的容器,运行 在不同的服务器上。所以你应该把每个dyno看成一个独立的服务器。