PR

ロードアベレージが86.29

◆落ちるんですよ

ここのところ、サーバがよく落ちる。でも、落ちているわけじゃない。そこが困るところ。停止してるなら、外部の監視屋さんから連絡がくる。でも、この落ち方だと落ちたと認識されないらしいのだ。それが困るところ。個人鯖なんでいーじゃん。という気楽なそれで6年以上動いてるんだけども、最近は収益も絡んでくるので、困る。Googleさんに落ちてばかりいると嫌われるらしいのでこれも困った。そんな困ったがたくさん集まってわーわーやってる。もう、レンタル鯖に引っ越してしまおうと思っているところだったので、追い打ちを掛ける。

でも、逃げからは何も習得できないので、ちょっと挑戦してみよう。

スポンサードリンク

◆HDDではないらしい

なんで落ちているのかわからないので、再起動を繰り返す。Xen上にいるのでデストロ~イ。。。そんなことばかりやっていられないので、HDD交換。しばらく使いっぱなしだし。

◆メモリ不足らしい?

どうやら反応がなかったり極端に遅くなったときにあらわれるのが、メモリ不足の警告らしい。それが最近よく出てしまう。困った。。。メモリも少なくない割り当てだし、アクセスすは上がっているけど、耐えられないほどじゃない。ちょっとその辺から避けて謎に迫ろう~。ググってもズバリ的な回答がないし。

◆ファイアウォールを最新に

ファイアウォールを最新の状態に書き換えて再起動。でもやっぱダメ。

◆ファイアウォールを停止

じゃぁファイアウォールを停止してみる。でもダメ。

◆topコマンドで様子を見る

いくつが適当かわからない。そういえば最近見かけたCORESERVER観測所というところで、ロードアベレージが云々と書いてあった。それがちょうどこのコマンドにも出ている。しばらく見てみよう。





▲あれ?0.50程度から19、21、31・・・あれれ???
httpdが乱立する。

どの程度が適当かはわからないけど、さすがに30はアレだろってんで、topコマンドから抜ける。すると、みごとに反応が遅い。遅すぎ。



▲とりあえず、Apache再起動で、なんとかなった。

Apacheが原因らしい。ログはよく読もうということかな。

◆Apacheの設定を変えてみる

参考文献にならってとりあえず、以下を変更。KeepAliveTimeout 15 を 10 に変更してみる。

◆やっぱダメなのでApacheの設定を再度見直す

肉眼で監視している状態が続いているけど、2回ほどダメ。1回目は帰ってきたら逝ってる感じだったのでデストロイ。2回目はちょうど見てたところだったので、10超えたところでApache再起動。なので、MaxClientsを半分にしてみる。ついでにファイアウォールの再確認したら更新スクリプトが壊れてた((+_+))けど、大きな問題ではないらしい。

◆やっぱり駄目なので

Apache設定を再度見直し。ログファイルに大量にアクセスしていないかとか。通信内容の圧縮設定をして通信を少なくして見るとか。リファラスパムに対応するとか。SWATCHでクソたったれを遮断するとかしてみる

◆やっぱり駄目なので調べる

スワップファイルもそれほどでもないしなー。そういえばMySQLが変な動きをしてたし、ぶっ壊れそうになったとも出ていた。テストサイトも公開して放置していたので、みてみる。データベースが17000件も登録されてる。あれ?200件以下のはず。。。。

かなり濃厚な線として、WPMUのテストさとにスパム投稿がありまくりだったのかも。。。しかも、ロードアベレージは極端に上昇して耐えられれば乗り切り、そうでなければ落ちる。それが日に何度かしかない(慢性的に高いのならわかるんだけど)

もうphpMyAdminではどうにもならんし、Webminでもダメだ。たぶん処理に時間がかかりすぎるんだろう。SSHで。

mysql> drop database t_wpmu;
Query OK, 17844 rows affected (6 min 20.81 sec)

別のデータベースを操作するにも問題があった=MySQLの応答が待ちきれない状態だったのだが、削除後は動作が戻った。これで解決しそうだ。しばらく様子を見よう。

結局解決した。自己の管理能力のなさが露呈した。

参考文献

oldId.20090423004906321