VineLinuxパフォーマンスアッププロジェクト:0152

■localhostによるdummy connectionについて■

 Apache Webサーバ(バージョン2.2)をインストールし、数日間稼働させたところ、ある日見慣れないログを発見。その正体とは・・・?

 apacheのアクセスログは見ていると結構おもしろいものです。しかし最近localhostからの接続でこんなログが多発しています。
localhost - - [XX/XXX/2007:XX:XX:XX +0900] "GET / HTTP/1.0" 200 5613 "-" "Apache/2.2.3 (Unix) (internal dummy connection)"
::1 - - [XX/XXX/2012:XX:XX:XX +0900] "OPTIONS * HTTP/1.0" 200 - "-" "Apache/2.2.21 (Unix) (internal dummy connection)"

 Webサーバを運営していらっしゃらない方はわかりにくいと思いますが、以前のapache(2.0系まで)はこういったログは気になりませんでした(表示されなかっただけかも?)が、2.2系ではやたらとこのログが目立ちます。

 「何かな・・・」と調べてみたら、このdummy connectionはapache2.2のβ版あたりから実装された機能のようで、これについて参考にさせていただいたページでは詳しく説明していらっしゃます。

 わかりやすく言うと(間違っているかもしれませんが)以下のような感じだと思います。


・apache2.2よりサーバの子プロセスを安全にシャットダウンする機能が追加された。
・Apacheの基本モジュール(Multi Processing Module:MPM)自身でもプログラムを利用してもどちらでも子プロセスのシャットダウンを行うことができる。
・プログラムを利用した場合、親プロセスから子プロセスへシャットダウン通知後にdummy connectionを行う。
・MPMがpreforkというモデルで稼働しているため、プログラムの影響でMPM自身ではシャットダウンできない。
・そこでプログラムを利用して子プロセスをシャットダウン。
・子プロセスがクライアントと通信していない待ち状態の場合にのみ、dummy connectionを行うことで子プロセス側でひととおり通信処理を終え、子プロセス自身が死亡する。



 というわけで、あまり心配ないアクセスログのようです。

 しかし毎日多いときには何十行とこのログが残るので、1年間で考えるとディスク消費の点でちょっと厄介ですよね。なんとか無効にする方法はないのでしょうか・・・。  




プロジェクト ホームへ戻る