MaxRequestPerChildは変更したほうがいいよ!
こんにちは。ぽんです。
早速ですが昨日、ウチのサービスのサーバーが落ちました。
大人の数学勉強中に鬼電がかかってきて、中断して調査と対応。
(講師の方すみませんm(_ _)m)
なんかメモリがswapも含めて使いきっていて強制ダウン。
(おそらくOOMKiller発動)
その日はとりあえず復旧させただけで、落ちないことを祈りつつ就寝
今日になって今後の対策なんとかしなきゃなーと思って調査を開始したところ、
3日ぐらい前からやたらとふえてるじゃありませんか!
そういえばあの時あれリリースしたなぁ。。。
あれのせいかなぁ。。。
うーん。。。
この増え方なんかおかしいぞー。。。
muninでメモリの使用量の推移をみてみるとなんかメモリリークしてるっぽい。
でもPHP基本無いはずなんだけどなぁ。バッチ処理ならわかるけど。
とりあえずtopで見てみると、
!!!!!!!
!!!!!!!!!!!!!!
httpdのメモリ使用量が1G!!!!?????
根本はなぜかはよくわかってない。
とりあえずこれを減らす方法を見つけねば!
検索すると
MaxRequestPerChildの値が4000なのが悪いっぽい。(httpd.confのprefork部分の設定)
そんなに使いまわさんでもいいでしょ!と思ったのでとりあえず500に変更
```
service httpd graceful
```
あれ1GBのプロセス消えね。
```
service httpd restart
```
消えた。
そして
安定した。
2016/06/14 追記
原因はここではなかった!
MaxRequestPerChildの値はそのままだけど、
MJ12Botなるものがやたらとアクセスしまくりが原因だった。
ということでrobots.txtでブロック