このページの目次
アクセスログの軽量化の実際
アクセスログの軽量化の話の続き。
量産型アフィリエイターになると、数百サイトくらい作ったりするため、どのページにアクセスが来ているかを調べるのは大変になる。
こうした場合、それぞれのサイトにアクセス解析タグを貼って調べるが常道だろうが、数百サイトもあるわけだから、一々全部調べるのはほとんど不可能だ。
ということで、サーバーに残っているアクセスログ(生ログ)をダウンロードしてきて、それを統合してアクセス解析してみようという話だ。
ところがアクセスログの生ログって、1サイトあたり数MBもあるので、100サイト分だと数百MBにもなってしまう。
これをそのまま毎日ダウンロードするのも時間の無駄だから、サーバーにできたアクセスログの必要な部分だけコピーして、まとめたモノをダウンロードしたい。
ということでアクセスログの生ログを調べて不要なログをPHPスクリプトでカットしてみた。
そうすると、約140MBあったアクセスログが、約19MBまで軽量化することに成功した。
割合で言うと、およそ7分の1くらいだね。
アクセスログの軽量化の例
※一番下のファイルが、スキップを外して統合したアクセスログ。
具体的にどういう感じになったかというと、次のような感じだ。
- 画像ファイルの呼び出しログをスキップする 約140MB → 約42MB
- アイ・フレームで呼び出すファイルをスキップ 約42MB → 約26MB
- 404エラー、403エラーのページをスキップ 約26MB → 約21MB
- googlebotや、HEADリクエストをスキップ 約21MB → 約19MB
ということで、実際のPHPスクリプトの例を紹介する。
その前にまず、メモリー利用上限を拡大しておく。
通常、PHPの設定では、扱うメモリーの上限は128MBになっているらしい。
これだと、128MBを越えるファイルは処理できないため、一時的にメモリーの利用上限を拡大しておく必要がある。