Ruby on Railsのunicornを運用する際に、リクエストの処理が遅くなったり、メモリの使用量が増えすぎるのを防ぐために「unicorn-worker-killer」を使うと良さそうです。
再起動時はgraceful restartをしてくれるので安心して利用できます。
😸 インストール手順
Gemfile
に以下を追加してbundle install
を実行
gem 'unicorn-worker-killer' |
🎳 再起動のトリガ設定
unicornのworkerをリスタートさせるトリガはconfig.ru
に下の設定を行います。
config.ru
の中の::File.expand_path('../config/environment', __FILE__)
の上に設定を記述してください。
リクエストの処理回数で再起動
リクエストの処理回数
use Unicorn::WorkerKiller::MaxRequests, 3072, 4096 |
メモリサイズで再起動
use Unicorn::WorkerKiller::Oom, (192*(1024**2)), (256*(1024**2)) |