アプリ版:「スタンプのみでお礼する」機能のリリースについて

さくら専用サーバーでサイトを運営していますが時々短時間に多数のアクセスがあったりすると、
httpdの実行プロセスが多くなり、サイトが表示されなくなる場合があります。
(PINGやFTP・メールなどは利用できます)

上記の不具合が発生した場合Apacheを再起動させることで対応していますが今後さらにサイトアクセス数が増えた場合頻発するではないかと懸念しています。
通常だと実行プロセスは順次消えていくと思いますがこれが溜まってしまう原因とは何なのでしょうか?(これまでの経験から160前のプロセスが固まっている場合、新しいプロセスが作成されずサイトが表示されなくなっているようで、Webminを使って確認しています)
また解決方法など御座いましたらご教授頂けたら幸いです。

A 回答 (2件)

こんばんは。



>設定値とはどの値を書けば宜しいでしょうか…?
えーと・・・、とりあえず、
KeepAlive
の辺りと、
<IfModule prefork.c>
の所と、
<IfModule worker.c>
の場所ぐらいですか・・・。

Apacheは2からマルチスレッド対応(プロセスは1つで、スレッドが複数)になっていますが、デフォルトではプロセスベースになっています。
これは1.x系と同じ挙動ですね。
どうしてもマルチプロセスに対応しきれないような環境(ハードウェア構成)なら、worker.MPMに切り替えるしかないですが、アプリケーション側がスレッドセーフな作りになっていないと怖いですね・・・。

このような質問をされている時点で、prefork.MPMのままだと想像しますが(勝手な想像で申し訳ないです・・・)、特に
<IfModule prefork.c>
の設定を見直した方が良さそうです・・・。
    • good
    • 0

こんにちは。



Apacheのバージョンは?
あと、現在の設定値を教えてください。
プロセス確認の実行結果も貼ってもらえれば嬉しいです・・・。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
Apacheはバージョン 2.2.3 を利用しています。
設定値とはどの値を書けば宜しいでしょうか…?

また実行プロセスについては、
123456 0.8 % 12:00 /usr/sbin/httpd
123457 0.8 % 12:00 /usr/sbin/httpd
123458 0.8 % 12:00 /usr/sbin/httpd

という形で通常は20個ぐらいですがサイトが表示されなくなる現象が起こるとき確認するとこれが160行ほど表示されています。

個別にKILLをするとアクセスできるようになりますがすぐにまた表示されなくなるため、Apache再起動を行うことで正常にアクセスできるようになっています。

以上、よろしくお願いいたします。

お礼日時:2010/12/02 20:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!