【问题标题】:backlog settings of puma similar to unicorn?puma的积压设置类似于独角兽?
【发布时间】:2013-09-12 04:59:13
【问题描述】:

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

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

这在 Heroku 上非常方便。

【问题讨论】:

    标签: heroku unicorn puma


    【解决方案1】:

    现在支持。您可以将查询参数传递给具有backlog 值的绑定。

    这是一个如何在 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/

    【讨论】:

      猜你喜欢
      • 2012-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-15
      • 2012-01-05
      • 1970-01-01
      相关资源
      最近更新 更多