質問: 現在LAMP環境でのWEBゲーム運用を行っております。 Webサーバーは30台体制で行っております。 1日に数回、いづれかの台のhttpdプロセスが跳ね上がる現象がおきており、チューニングに試行錯誤しておりますが 原因がわかっていない状況です。 何かヒントになりそうな情報をお持ちの方いらっしゃいましたらご教授いただけないでしょうか。 よろしくお願い致します。 【Apacheについて】 ・preforkで動作させています。 ・画像リソースはnginxを経由しています。 ・Maxclientsは512で通常は20前後のプロセスが稼働しています。 ・急激にMaxclientsに達してレスポンスが返せなくなる(or 遅くなる)現象が発生します。 【MySQLについて】 ・現象発生時には発生したWebサーバーをホストとするSleep状態のプロセスが急増します。 ・上記プロセスはwait_timeoutに達するか、現象発生台のhttpdを再起動するまで残り続けます。 【PHPについて】 ・アクセスログ等から可能性のあるパスを静的デバッグしましたが プログラムに不備はないようでした。 【追記】 失礼致しました。 急増する現象を解決したく調査を進めております。
回答: 現象が発生したときのプロセス(httpd以外にも)、IO、メモリ使用量が知りたいですね。 なんとなくですが、httpdが悪いというよりも、データベースがボトルネックになることがおおいようなきがします。 データベースはWebサーバーとは別のサーバーだとは思いますがどういう構成でしょうか? 何かのきっかけでインデックスがメモリから追い出されて遅くなって間に合わない... とか 大量の更新が発生してデットロックやテーブルロックがかかっているとか? 一度、最小構成で負荷テストもちゃんとやってみて、どのぐらいのアクセスに耐えられるかもテストしてみたほうが良いと思います。