gpt4 book ai didi

heroku - puma的积压设置类似于 unicorn ?

转载 作者:行者123 更新时间:2023-12-01 05:17:39 27 4
gpt4 key购买 nike

unicorn 接受 listen允许设置 backlog 的配置以毫秒为单位,以防 worker 忙。减小此值允许路由器在忙碌时将请求发送给另一个工作人员。

彪马有类似的东西吗?我找不到这样的东西。

这在 Heroku 上非常方便。

最佳答案

现在支持此功能。您可以将查询参数传递给具有 backlog 的绑定(bind)。值(value)。

这是一个如何在 Rails 应用程序中执行此操作的示例。

# config/puma.rb
workers Integer(ENV['PUMA_WORKERS'] || 3)
threads Integer(ENV['MIN_THREADS'] || 1), Integer(ENV['MAX_THREADS'] || 16)

preload_app!

rackup DefaultRackup

port = Integer(ENV['PORT'] || 3000)
backlog = Integer(ENV['PUMA_BACKLOG'] || 20)

bind "tcp://0.0.0.0:#{port}?backlog=#{backlog}"

environment ENV['RACK_ENV'] || 'development'

on_worker_boot do
# worker specific setup
ActiveSupport.on_load(:active_record) do
config = ActiveRecord::Base.configurations[Rails.env] ||
Rails.application.config.database_configuration[Rails.env]
config['pool'] = ENV['MAX_THREADS'] || 16
ActiveRecord::Base.establish_connection(config)
end
end

注意:确保您使用的是最新版本的 Puma。我已在 2.8.2 中验证了此功能。

Here is an example app使用此配置,我已经在 Heroku 上对其进行了测试。

有关更多信息,我已在此处将解决方案添加到我的博客中: http://mikecoutermarsh.com/adjusting-pumas-backlog-for-heroku/

关于heroku - puma的积压设置类似于 unicorn ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18755674/

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