アクセスログは「.log」といった拡張子のファイルとして記録されていますが、基本的にはメモ帳でも開くことができる半角英数文字だけで記録されたテキストファイルです。しかし、これが重く(大容量)なるのです。
何しろリクエストというのは、ページだけを呼び出すものではありません。ページのデータがサーバから飛んでくると、Webブラウザがそれを読み込み、表示しようとします。すると、WebブラウザはそのページのHTMLのデータの中に「ここにこの画像を表示せよ」という指定があることに気付きます。
Webブラウザはその画像に対するリクエストをサーバに送り、サーバが画像を送り返してくれたら、それを表示します。WebブラウザはHTMLを順番に読んで、出てくる順番に画像などページの表示に必要なリンクファイルのリクエストをサーバに投げます。サーバは順番に画像を投げ返すと同時に、ログに1つ1つ画像の記録を書いていきます。
HTMLは200で正常終了だったとしても、ある画像は404のリンク切れかもしれません。ですから画像についても、IPアドレスから転送容量まですべて同様の記録を取るのです。特に単位時間内の転送量を心配するサーバ管理者の立場からすると、HTMLの量は問題ではありません。システムに負荷をかけるのはほとんど画像なので、画像の転送量は非常に重要なデータだといえます。
「1つのHTMLに何ファイルがリンクされているのか」はもちろんデザインまかせですが、あるサイトでは1つのHTMLに平均47ファイルがリンクされているという記録になっていたことがあります。
ところで、先ほど説明したようにログは下記のような体裁で記録されてます。
000.000.000.000 - - [17/May/2007:00:03:11 +0900] "GET /index.html HTTP/1.1" 200 1543
このログの1行は85バイトあります。1つのHTMLの中に、仮に平均20の画像やCSSがリンクされているとすると、1人が1ページ見ただけで21行が記録されます。85バイトが21行あれば、下記の計算となります。
85バイト×21行=1,785バイト
1人が1ページ見ただけでそのログが1.5KBもあるわけです。これが1人平均3ページを見て、1日1,000人が訪れたなら、1ヶ月で、下記のような数字となってしまいます。
1,785バイト×3ページ×1,000人×30日=160,650,000バイト
となります。テキストファイルなのに160MB。これが平均5ページで日に3万人来たとなれば、何とログだけで8GBにふくらんでしまいます。
1,785バイト×5ページ×30,000人×30日=8,032,500,000バイト
そのような理由もあってサーバ管理者はあまり長期間のログを保存したがりませんし、レンタルサーバ会社ではいまだに顧客に生ログを提供しないところが多く存在します。しかしマーケッターは絶対に1ヶ月単位でサイトの状態をチェックしたい、半年に渡るサイトの成長を見たいといったことを考える人が多いのです。
|