読者です 読者をやめる 読者になる 読者になる

「Apache」ListenBackLog ディレクティブ

Apache の ListenBackLog なるディレクティブがあって、こいつを使うと TCP レベルでクライアント
からのアクセスを拒否できるらしい。ちょっと調べてみたので、その時のメモ。

ちなみに、ドキュメントは以下になる。
http://httpd.apache.org/docs/2.2/mod/mpm_common.html#listenbacklog

「保留状態のコネクションのキューの最大長です。」と、それらしき記述がある。
ドキュメント的には、デフォルトの設定から変更する必要がないと。

検証内容としては、以下の方法でやってみた。
・MaxClients を 2 と設定
・ListenBackLog を 1 と設定する
・↑の際に、クライアントから 4 つリクエストを発行する
( すぐにレスポンスが返ってくると確認しにくいので、数秒間処理停止するアプリ作って
そいつに対してリクエスト )

想定では、最初の 2 つのリクエストは Apache で処理されて、3 つ目のリクエストはキューに入って
処理待ち状態 ( 最初のリクエストが完了した段階で処理が開始される )、4 つ目のリクエストが TCP
レベルで拒否される、的な動作になると思っていた。

ただ、簡単に試した限りでは、4 つ目のリクエストに関しても正常に処理されてしまった・・・

なんかドキュメントに

        • -

この値は OS により、小さな数に抑えられます。 値は OS 毎に異なっています。また多くの OS では、
バックログとして指定されている値ちょうどまで使っているわけではなく、 設定されている値に基づいて
(通常は設定値よりも大きな値を) 使っていることに注意してください。

        • -

てな、記述もあるので OS 側で値の調整とかが行なわれているのか。
はたまた、私の検証の仕方がマズイのか。
今の実力では、これ以上調べようがないので、残念ながらここまで。

いつか調べたいと思いつつ、やらないんだろうなぁ・・・

広告を非表示にする