gpt4 book ai didi

ruby-on-rails - 使用工头与 unicorn 本身从网络设置 unicorn worker 的数量

转载 作者:行者123 更新时间:2023-12-04 05:09:19 37 4
gpt4 key购买 nike

我有点卡在工头设置中设置 unicorn worker 的数量

web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb

然后在运行时 foreman start -c web=16
或 unicorn 只需设置 worker_processes 16
如果我设置了怎么办 foreman start -c web=8同时拥有 worker_process=2这是否意味着它将总共运行 16 个

这只是一种偏好还是有什么我不明白的地方?有人可以解释一下。

最佳答案

foreman start -c web=16 每次 fork 将启动 16 个主 unicorn 进程,但默认设置了许多工作进程。

foreman start -c web=1 将 worker_processes 设置为 16 将启动一个单一的主 unicorn 进程,它将 fork 16 个工作进程。

主要区别在于您让谁控制流程。 unicorn 主进程是围绕跟踪它的 fork 进程并知道它们何时被挂起等的想法构建的,以进行清理和重新启动。 foreman 进程只会知道 master unicorn 进程,而不知道 master unicorn 进程 fork 的任何进程。

unicorn 机架服务器专门用于替代运行多个进程(例如 4 个瘦服务器),而是运行单个主进程并让它处理 fork 工作进程的管理。这允许单个进程知道服务于机架应用程序的所有其他进程。

简而言之 - 运行单个 unicorn 进程并在配置文件中添加 worker 数量。不要让工头做。

关于ruby-on-rails - 使用工头与 unicorn 本身从网络设置 unicorn worker 的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15072821/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com