アクセスログの軽量化と統合
複数サイトのアクセスログ解析のために、アクセスログの分析と加工を行う。
アクセスログ解析ツールは、たいていの場合ドメイン毎のアクセスの状況しか分析できない。
これはレンタルサーバーについているアクセス解析だけでなく、Googleアナリティクスでも同じだ。
というのも普通の企業は、1つのサイトをじっくり作り込むもんだし、いくつもの複数ドメインにまたがって分析する必要なんてないからだ。
ところがサイト量産型のアフィリエイターにとっては、これは都合が悪い。
何十個も何百個もサイトを作ってしまったら、個別のアクセス解析を見る時間なんてない。
そこで複数のドメインのアクセスログを統合してまとめて、アクセスログ解析ツールに掛けることを考えた。
ただしアクセスログは、ファイルサイズが出かかったりするので、不必要なところはどんどんカットしていって、必要最小限に軽量化してから統合しないといけない。
でないと、処理にとんでもない時間がかかってしまうからだ。
扱うファイルが大きいと、1日分の処理が10秒で終わったとしても、2日分だと40秒になり、3日分だと160秒もかかったりするのだ。
これは途中で作る一時ファイルの大きさが、処理時間に関係するかららしい。
大量のデータを整理して統合するためには、下準備の段階で、できるだけデータを軽量化しておく必要がある。
一時ファイルを何度も操作するので、ファイルサイズがでかいと、メモリーとのやりとりにムダな時間がかかってしまうのだ。
100サイトあれば、100個のアクセスログファイルがあるわけで、それを何周もループさせたりすると、I/Oの回数は半端ないしね。
そこでまず、サーバーからダウンロードしてきたアクセスログを見て、不要なログをバッサリカットしていく。
そのために、生ログをまず観察してみよう。
アクセスログ(生ログ)の例
https://▲▲▲.net/MEIGARA/ichirei.htm というページにアクセスが来ている部分。
GETの後に書かれているのが、呼び出されているファイルの名前で、そのあとのURLは一つ前のページ情報。
このアクセスログを見ると、一番上のログ以外は、そのページのcssファイルや画像ファイルばかりだと言うことが分かる。
Webサイトを呼び出す場合、cssファイルや画像ファイルも同時に呼び出され、アクセスログに書き込まれる仕様らしい。
1ページ見るのに、ページに付随したファイルが10個も20個も呼び出されて、それが記録されてるわけだね。
なので、これらは削除対象になる。