httpd.confのHostNameLookupsを「on」にすると、すべてのアクセスについて、DNSルックアップ(DNSの逆引き)によって、IPアドレスからドメインを取得してアクセスログに記録されます。
初期値は「OFF」です。
もっとも、KeepAliveを「ON」にしておけば、ユーザからの一回の接続について一回のみのDNSルックアップ動作になりますが。
以下のような記述にしておけば、特定の拡張子に対するアクセスについてのみ DNSルックアップ動作が行われます。
-
HostnameLookups off
-
-
<files>
-
HostnameLookups on
-
</files>
とは言え、DNSルックアップはネットワーク全体に対する負荷が高いので、ある程度負荷の高いサイトなら、必ず 全面的に「OFF」にしておくべきです。
注意しておきたいのは、 HostnameLookupsがOFFになっていても、設定の他の部分でhost名による指定をした場合は、DNSルックアップ動作が行われてしまうということです。
例えば
-
# ホストベースのアクセス制限
-
order allow,deny
-
allow from all
-
deny from .hoge.co.jp
というようにホスト名でアクセス制限をした場合には、当然、DNSルックアップ動作が行われパフォーマンスに大きな悪影響が出ます。
アクセス解析の関係で、どうしてもhost名が必要な場合は、解析前にapache附属の
logresolveでhost名に変換すればよいでしょう。
-
/usr/local/apache2/bin/logresolve <access_log.2007-05-03> test_log
※この処理自体も、指定したアクセスログ上のすべてのIPアドレスについてDNSルックアップ動作が行われますのでネットワークへの負荷は高くなります。別ネットワーク上で行う等の対策が必要です。



