- PR -

HTTPステータス503を発生させたい

1
投稿者投稿内容
yoshika
常連さん
会議室デビュー日: 2005/10/31
投稿数: 28
投稿日時: 2006-06-14 10:02
お世話になります。
Java Solution にも投稿したのですが、こちらのほうが専門分野かと思い
相談させていただきます。

OSはLinux RedHat9.0のサーバに
apache1.3.26 + tomcat3.3.1 でシステムを構築しています。
apacheのMaxClientsの設定を超えたアクセスがあった場合に、
「アクセスが集中しています」などのページを表示するようにしたいのですが
どうすれば大量のアクセスがあることを感知できるのでしょうか?

MaxClientsを超えた場合、503エラーが発生すると考えたのですが、発生しません。
発生させるにはどのような方法があるのでしょうか?
それとも、通常は発生するもので、発生しないのは設定か何かに
誤りがあるのでしょうか?

ご教授ください。よろしくお願いいたします。
SHR
ベテラン
会議室デビュー日: 2006/06/15
投稿数: 99
投稿日時: 2006-06-15 15:36
よくある間違えなのですが、MaxClientsは同時に起動するプロセスの制限であり、
接続数の制限ではありません。
従ってMaxClientsの設定を超えたアクセスは、キュー待ちになるだけです。

Apache単体で503エラーが発生するケースは少なく、
Apacheが他へリクエストを投げるモジュールを使用して、
投げた先が反応がない場合に生じるエラーです。
例えばApacheがリクエストを受けて、コネクタからtomcatにリクエストを投げた際に、
tomcatが落ちている時に表示されます。

※yoshikaさんの実装したい件ですが、mod_tsunamiを調べてみて下さい
こうじ
ベテラン
会議室デビュー日: 2004/02/02
投稿数: 68
お住まい・勤務地: 京都・大阪
投稿日時: 2006-07-26 17:06
こんにちは。
少し時間が経過していますが、便乗で質問させて頂ければ…と思います。

SHRさんが言われている、「MaxClientsの設定を超えたアクセスは、キュー待ちになる」という部分について、
キューの数はListenBackLogで指定するものでしょうか?
また、アクセス数がListenBackLogで指定した数を超えた場合はどうなるのでしょうか?

宜しくお願い致します。
progman
大ベテラン
会議室デビュー日: 2005/06/08
投稿数: 227
投稿日時: 2006-07-26 18:43
>キューの数はListenBackLogで指定するものでしょうか?
http://www.hyperdia.com/manual/ko/mod/mpm_common.html#maxclients
ですね。

>アクセス数がListenBackLogで指定した数を超えた場合はどうなるのでしょうか?
http://www.hyperdia.com/manual/ko/mod/mpm_common.html#listenbacklog
http://www.linux.or.jp/JM/html/LDP_man-pages/man2/listen.2.html
などを参照すると、ApacheではなくApacheが動作しているOSよりエラーが
クライアントアプリケーションに返されるはずですね。

1

スキルアップ/キャリアアップ(JOB@IT)