使用Heroku和Puma网络服务器在Rails 4上
我正在尝试了解与我的dyno相关的WEB_CONCURRENCY。
目前,我正在运行一个标准的2x dyno。我没有使用任何工作人员dynos,因为我正在做的事情不需要在后台处理。根据Heroku的文档,默认并发性为4:2X dynos: WEB_CONCURRENCY=4
我的问题并发严格与工作人员dynos有关吗?由于我没有使用任何工作dynos,我应该将WEB_CONCURRENCY设置为零吗?
如果有任何文档可以用简单的方式回答我的问题,请将其链接起来。我很难理解并发性以及基于我正在使用的dyno将其设置为什么。
THX!
答案 0 :(得分:1)
Puma在每个dyno中分配多个OS进程,以允许Rails应用程序支持多个并发请求。在Puma术语中,这些被称为工作进程(不要与在他们自己的dynos中运行的Heroku工作进程混淆)。工作进程在操作系统级别彼此隔离,因此不需要线程安全。
请阅读:https://devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server