ログ解析スクリプトAWStats 5.0ドキュメント

 


ベンチマーク


AWStatsの更新プロセスは, 頻繁に実行する必要があります. このため, AWStatsの処理速度を理解し, その処理速度とあなたが必要とする更新速度とのバランスを考えて, 最適な更新間隔を設定する必要があります。
AWStatsの処理速度は, バージョンと設定内容で異なってきます.


一般的な設定のAWStats Ver.5.0のベンチマーク結果:

ハードウェア: Athlon 1 GHz / 128Mb
ソフトウェア: Windows 2000 / Perl 5.8
設定オプション: LogFormat=1, DNSLookup=0
平均速度: 4,500行/秒
別の条件下でのベンチマークは、このページの下の方に示されています...


その他の知っておくべき重要な情報:

- ログファイルのサイズは, 行数の150倍 (NCSA common/CLFログファイル)から300倍 (NCSA extended/XLF/ELFログファイル)になります,
- 30Mbのファイル = 100,000行 = 20,000ページ (1ページ当たり5ヒットと仮定) = 2,500訪問者 (1訪問者が8ページを閲覧すると仮定) => 75秒 (Athlon 1GHzの場合)
- 履歴ファイル(ロブの分析状況を記録)のサイズは, 15000+160*x+100*yバイト程度になります(1ファイル/1ヶ月, xは1ヶ月あたりの一意な訪問者数, yはWebサイトのページ数)
警告! これらのデータは全て一般的なサイトの平均値です. WebサーバーやAWStatsの設定, Webサイトのコンテンツによってはこの法則から大幅に乖離する可能性があります.

ログ解析ツールのベンチマークを行う際には, DNSの逆引きを無効にされていることを覚えておいて下さい. DNSの逆引きの性能は, ログ解析ツールではなく, 利用するシステムやネットワーク, インターネットのパフォーマンスに影響されるからです. また, DNSの逆引きは, ログ解析の処理時間の95%もを占めるのです!
チャートを見る際には、以下のような観点で見てください:
- ベンチマーク結果を参考に, イメージを現実に近づける
- あなたのWebサイトに適合した設定を行うための参考情報にする


AWStatsを上手に活用するための訪問者数別パラメーター設定:

あなたのWebサイトの規模 推奨パラメーター 推奨される更新頻度
(ログのローテーション頻度)
必要とされるメモリ** 更新時間***
DNSLookup*
0 - 1,000 訪問者/月 1 1回/週
ログファイルサイズ : 0-3 MB
処理行数 : 10,000行
<4 MB <2分
0 1回/月
ログファイルサイズ : 0-12 MB
処理行数 : 40,000行
<4 MB <20秒
1,000 - 10,000訪問者/月 1 12時間毎
ログファイルサイズ : 1-2 MB
処理行数 : 660-6,600行
4-8 MB 1-2分
0 1回/週
ログファイルサイズ : 3-30 MB
処理行数 : 10,000-100,000行
4-8 MB 5-50秒
10,000 - 50,000訪問者/月 1 4時間毎
ログファイルサイズ : 1-4 MB
処理行数 : 2,200-11,000行
8-16 MB 1-4分
0 1回/日
ログファイルサイズ : 4-20 MB
処理行数 : 13,000-65,000行
8-16 MB 10-40秒
50,000 - 250,000訪問者/月 1 1回/1時間
ログファイルサイズ : 1-4 MB
処理行数 : 2,700-14,000行
16-64 MB 2-4分
0 1回/6時間
ログファイルサイズ : 5-25 MB
処理行数 : 17,000-80,000行
16-64 MB 20-80秒
250,000 - 1,000,000訪問者/月 0 1回/1時間
ログファイルサイズ : 4-16 MB
処理行数 : 14,000-56,000行
64-256 MB 30-120秒
1,000,000 - 5,000,000訪問者/月 0 この規模のWebサイトにはAWStatsは適切な選択ではありません. Analogのように, 機能は貧弱でも処理速度が高速なツールを試してみてください.
+5,000,000 訪問者/月 0 この規模のWebサイトにはAWStatsは適切な選択ではありません. Analogのように, 機能は貧弱でも処理速度が高速なツールを試してみてください.

* 以下の場合、DNSLookupを"0"に設定します :
    - ログがDNSの逆引きが行われた状態になっている
    - "ドメイン/国"のレポートが不要
    - Webサイトに毎月250,000以上の訪問者が訪れる
** 更新プロセスに必要とされる空きメモリ量(MB). 警告: URLWithQueryオプションを利用している場合, 値は2倍になります.
*** Athlon 1GHz/128MbでLogFormat=1の場合の更新時間.


AWStatsの処理速度を向上させるには:

- DNSLookupを無効にします(DNSLookup=0に設定するか, DNSLookup=2に設定して, DNSキャッシュファイルのみを利用するようにする). DNSLookupが無効になっている状態で'国/ドメイン'の統計を利用したい場合は, ログファイルの中でホスト名が解決された状態になっている必要があります(Webサーバーがそうするように設定する必要がありますが, パフォーマンスは落ちます). DNSLookupが無効になっていると, ログの解析パフォーマンスは10倍から100倍になるでしょう.
- ログを循環させ(FAQ-SET500を参照), AWStatsをより頻繁に起動します(crontabやスケジューラーを利用, FAQ-SET500を参照). AWStatsの起動間隔を短くすると, AWStatsが処理しなければならない新しいレコードの数が減ります. この方法だと, ActiveState Perlのメモリの問題も解決できます(次のアドバイスを参照).
- ActiveStateのPerlではなく, 標準のPerlを利用します. ActiveStateのPerl(Ver. 5.006, もしかしたらそのほかのバージョン)には重大なメモリの問題があり, 解析の速度が処理するレコード数の増加に応じて遅くなります.
- 最新のバージョンのAWStatsを利用します
.
- 最新のバージョンのPerlを利用します. 例えば, Perl 5.8はPerl 5.6に比べて15%高速です.
- Apacheを利用していてログを循環させていない場合(最良の設定とはいえませんが), PurgeLogFileを"1"に設定してください(デフォルトでは, 予想外の挙動をとらないよう, PurgeLogFileは"0"に設定されています. しかし, ここを"1"に設定すると, AWStatsが処理後にログファイルの切りつめを行い, 次回以降のパフォーマンスが向上します).