unicorn-worker-killer unicornのworkerを一定のルールで再起動[RubyGem]


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))

😀 参考リンク

📚 おすすめの書籍

🖥 サーバについて

このブログでは「Cloud Garage」さんのDev Assist Program(開発者向けインスタンス無償提供制度)でお借りしたサーバで技術検証しています。 Dev Assist Programは、開発者や開発コミュニティ、スタートアップ企業の方が1GBメモリのインスタンス3台を1年間無料で借りれる心強い制度です!(有償でも1,480円/月と格安)