accessdays プラグインの簡易高速化版
- 投稿者: Lenoir
- カテゴリ: 修正
- 優先度: 普通
- 状態: 提案
- 日時: 2008年09月21日 07時51分09秒
内容
概要
accessdaysプラグインにおいて、集計対象データを短絡的に限定することで、アクセスログの量の増加に伴う処理時間の増大を抑制します。(私の環境における数値例: アクセスログサイズ 16MB、accessdays の処理時間 1.7秒 ⇒ 0.3秒に改善)
内容
accessdaysプラグインはアクセスログ全量を集計しているため、アクセスログの量に比例して処理に掛かる時間が増えていきます。私の環境では、アクセスログのサイズ約16MBに対し、標準のaccessdaysでは処理時間は約1.5〜1.7秒掛かります。(accessdaysを含むページの表示が半端なく重いです(^-^;))
そこで、アクセスログの集計範囲を、指定した日数分に限定することで高速化しました。この修正により、私の環境で従来約1.5〜1.7秒掛かっていた処理時間が、約0.3秒に短縮されました。
集計範囲を限定する方法は次のような単純なものです。
- アクセスログのレコードを後ろから読んで、当日 - 指定日数 の日付より過去の日付が出現したら、そこで集計を終了する。
競合
アクセスログのローテーション等により、アクセスログの記録順序が時系列になっていない場合、正常に動作しない可能性があります。
ダウンロード
- AccessDays.pm(614)
インストール方法
標準プラグインのファイル access/AccessDays.pm に上書きしてください。
ライセンス
GNU GPL
コメント
- ライセンスを書いていただけると幸いです。 - 猫P (2008年12月22日 22時08分11秒)
- ご指摘ありがとうございます(10ヶ月越しですみません・・・)。 ライセンス追記しました。 GPLでお願いします。 - Lenoir (2009年09月10日 08時17分23秒)
最終更新時間:2010年03月25日 14時01分47秒