WEB_CONCURRENCY仅适用于Worker Dynos吗?

时间:2016-03-28 21:31:09

标签: ruby-on-rails ruby-on-rails-4 heroku concurrency puma

使用Heroku和Puma网络服务器在Rails 4上

我正在尝试了解与我的dyno相关的WEB_CONCURRENCY。

目前,我正在运行一个标准的2x dyno。我没有使用任何工作人员dynos,因为我正在做的事情不需要在后台处理。根据Heroku的文档,默认并发性为4:2X dynos: WEB_CONCURRENCY=4

我的问题并发严格与工作人员dynos有关吗?由于我没有使用任何工作dynos,我应该将WEB_CONCURRENCY设置为零吗?

如果有任何文档可以用简单的方式回答我的问题,请将其链接起来。我很难理解并发性以及基于我正在使用的dyno将其设置为什么。

THX!

1 个答案:

答案 0 :(得分:1)

  

Puma在每个dyno中分配多个OS进程,以允许Rails应用程序支持多个并发请求。在Puma术语中,这些被称为工作进程(不要与在他们自己的dynos中运行的Heroku工作进程混淆)。工作进程在操作系统级别彼此隔离,因此不需要线程安全。

请阅读:https://devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server