ぽんぽんぽぽぽん

”ぽん”が色々書きます。(ITのことや、ソシャゲ、スロットのこととかw...etc)

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でブロック