Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用heroku和sidekiq时,我应该将ENV[“WEB”并发性设置为什么_Ruby On Rails_Heroku_Config_Unicorn_Proc - Fatal编程技术网

Ruby on rails 使用heroku和sidekiq时,我应该将ENV[“WEB”并发性设置为什么

Ruby on rails 使用heroku和sidekiq时,我应该将ENV[“WEB”并发性设置为什么,ruby-on-rails,heroku,config,unicorn,proc,Ruby On Rails,Heroku,Config,Unicorn,Proc,当我试图将我的应用程序部署到Heroku时,我已经按照规范设置了procfile和unicorn.rb文件。但是,在文件的顶部有一行 worker_processes Integer(ENV["WEB_CONCURRENCY"] || 3) 我想这需要我在.env文件中设置WEB\u并发=。然而,我真的不确定应该将其设置为什么 基本上,它是指在每个dyno中需要多少个工作进程。看见每个工作进程将允许您在同一个dyno上运行并发请求。每个辅助进程都会消耗一些内存,因此更多的辅助进程将使应用程序运

当我试图将我的应用程序部署到Heroku时,我已经按照规范设置了
procfile
unicorn.rb
文件。但是,在文件的顶部有一行

worker_processes Integer(ENV["WEB_CONCURRENCY"] || 3)

我想这需要我在
.env
文件中设置
WEB\u并发=
。然而,我真的不确定应该将其设置为什么

基本上,它是指在每个dyno中需要多少个工作进程。看见每个工作进程将允许您在同一个dyno上运行并发请求。每个辅助进程都会消耗一些内存,因此更多的辅助进程将使应用程序运行速度变慢。看起来Heroku建议使用2-4个工作进程,所以我会将其设置在其中的某个位置。如果不设置任何内容,它将默认为
3
,这可能是一个不错的数字


底线:需要将其设置为一个整数,可能介于2和4之间。除非您有理由更改它,否则将默认值保留为3可能没问题

如果您使用的是2+2X标准Dynos或PX性能Dynos,则可以根据unicorn分叉的unix进程的平均内存占用量增加它们并设置为其他值。Else标准实践表明,将数字保持在2-4或默认值为3之间,以使WEB_并发性能够根据动态大小设置为默认值

$ heroku config:set SENSIBLE_DEFAULTS=enabled
$ git commit --allow-empty -m "enable sensible defaults"
$ git push heroku master
$ heroku run bash --size 2X
Running `bash` attached to terminal... up, run.7530
~ $ echo $WEB_CONCURRENCY
4
启用时,该值将默认为:

  • 1X动态:WEB\u并发=2
  • 2X dynos:WEB\u并发=4
  • PX-dynos:WEB\u并发=16
这将根据您的dyno类型和大小更改您的
WEB\u并发性
阅读更多