昨夜の真夜中頃、アプリが倒れてしまい、その理由を突き止めようとしています。現在、EC2にはnginxフロントエンドサーバーと2つのUnicornワーカー(アプリ)サーバーがあります。
ほとんどのユニコーンワーカーはタイムアウトを続けていたため、マスターによって再開されました。
私が見ることができることから、現時点ではcrontabや実行するように設定されているものがないため、少し困惑しています。
今朝(6時間のダウンタイムの後)目が覚めたとき、Unicornプロセスを強制終了し、Unicornバイナリを再実行することで、アプリを起動することができました。 (Unicorn_Rails -c Unicorn.rbなど)
どこを見ればいいの?両方のアプリサーバーがダウンしたという事実は、それがデータベース(RDS)である可能性があると私に思わせますか?
ログは次のものでいっぱいでした(6時間など)。
E, [2013-02-28T00:07:40.367981 #11097] ERROR -- : worker=2 PID:26941 timeout (31s > 30s), killing
E, [2013-02-28T00:07:40.468495 #11097] ERROR -- : reaped #<Process::Status: pid 26941 SIGKILL (signal 9)> worker=2
I, [2013-02-28T00:07:40.756724 #28319] INFO -- : worker=2 ready
E, [2013-02-28T00:07:44.519818 #11097] ERROR -- : worker=1 PID:11292 timeout (31s > 30s), killing
E, [2013-02-28T00:07:44.626362 #11097] ERROR -- : worker=0 PID:26933 timeout (31s > 30s), killing
E, [2013-02-28T00:07:44.726936 #11097] ERROR -- : reaped #<Process::Status: pid 11292 SIGKILL (signal 9)> worker=1
E, [2013-02-28T00:07:44.727254 #11097] ERROR -- : worker=0 PID:26933 timeout (31s > 30s), killing
E, [2013-02-28T00:07:44.932858 #11097] ERROR -- : reaped #<Process::Status: pid 26933 SIGKILL (signal 9)> worker=0
I, [2013-02-28T00:07:45.661356 #28329] INFO -- : worker=1 ready
I, [2013-02-28T00:07:45.828289 #28334] INFO -- : worker=0 ready
E, [2013-02-28T00:08:11.113970 #11097] ERROR -- : worker=2 PID:28319 timeout (31s > 30s), killing
E, [2013-02-28T00:08:11.214770 #11097] ERROR -- : reaped #<Process::Status: pid 28319 SIGKILL (signal 9)> worker=2
I, [2013-02-28T00:08:11.518723 #28368] INFO -- : worker=2 ready
E, [2013-02-28T00:08:16.270463 #11097] ERROR -- : worker=1 PID:28329 timeout (31s > 30s), killing
E, [2013-02-28T00:08:16.371067 #11097] ERROR -- : worker=0 PID:28334 timeout (31s > 30s), killing
E, [2013-02-28T00:08:16.471684 #11097] ERROR -- : reaped #<Process::Status: pid 28329 SIGKILL (signal 9)> worker=1
E, [2013-02-28T00:08:16.471983 #11097] ERROR -- : reaped #<Process::Status: pid 28334 SIGKILL (signal 9)> worker=0
I, [2013-02-28T00:08:17.038915 #28376] INFO -- : worker=0 ready
I, [2013-02-28T00:08:17.128931 #28379] INFO -- : worker=1 ready
E, [2013-02-28T00:08:42.628665 #11097] ERROR -- : worker=2 PID:28368 timeout (31s > 30s), killing
E, [2013-02-28T00:08:42.729290 #11097] ERROR -- : reaped #<Process::Status: pid 28368 SIGKILL (signal 9)> worker=2
I, [2013-02-28T00:08:43.015140 #28390] INFO -- : worker=2 ready
E, [2013-02-28T00:08:48.778221 #11097] ERROR -- : worker=0 PID:28376 timeout (31s > 30s), killing
E, [2013-02-28T00:08:48.878530 #11097] ERROR -- : worker=1 PID:28379 timeout (31s > 30s), killing
なんとかこの人を解決することができました。さらに調査したところ、午前12時から午前4時の間に大量のネットワークトラフィック(およびCPU使用率!)が発生しました。結局のところ、私たちのbingウェブマスター設定はこれらの時間の間に「高」に設定されていたため、bingbotが狂ってしまい、Unicornを完全に叩きました。 (貧しいユニコーン)。