Heroku マニュアルに基づいて puma Web サーバーをセットアップしました: Deploying Rails Applications with the Puma Web Server
config/puma.rb
:
workers Integer(ENV['WEB_CONCURRENCY'] || 2)
threads_count = Integer(ENV['RAILS_MAX_THREADS'] || 2)
threads threads_count, threads_count
preload_app!
rackup DefaultRackup
port ENV['PORT'] || 3000
environment ENV['RACK_ENV'] || 'development'
on_worker_boot do
ActiveRecord::Base.establish_connection
end
Procfile
内容:
web: bundle exec puma -C config/puma.rb
ここsleep 10
で、応答を遅らせるアクションにアクセスしてから他のアクションにアクセスしようとすると、Puma がこれら 2 つのリクエストを同時に処理することがわかりました (2 つのワーカーがあるため)。ただし、代わりに、スリープ状態の最初のリクエストが完了するのを待ってから、2 番目のリクエストに進みます。何か不足していますか?
私のセットアップは次のとおりです。
ルビー 2.2.4
レール 4.2.0
編集:
わかりました。Heroku で動作することがわかりました。質問は、開発モードで動作しないのはなぜですか?