Piwikでは、アーカイブスクリプトが用意されていて、このスクリプトを定期的に実行しておくと、事前にデータが処理されているため、Piwikにアクセスしてレポート表示する際のレスポンスが向上するようです。
マニュアルでは、一日の訪問者数が数百を超える場合はこのスクリプトを定期的に実行することを推奨しています。
さらにこの処理を行うと、データベース内のrawデータが解析されたレポートデータとなるので、rawデータは不要になり削除してデータベースサイズを削減することができます。
私の環境ではそれほどたくさんのアクセスはありませんが、特に行うことによるデメリットもなさそうなので実行しています。
設定方法
1)設定内容
・実行時間:毎時5分
・実行ユーザー:apache、
・実行コマンド
/usr/bin/php /doc_root/piwik/misc/cron/archive.php — url=http://example.org/piwik/ > /doc_root/piwik/piwik-archive.log
※urlは、Piwik管理画面のURLです。
※/doc_root/piwik/はPiwikのインストールディレクトリ
※バージョン2.6.1にアップデートしたら下記コマンドに変更されていました。
/usr/bin/php /doc_root/piwik/console core:archive –url=http://example.org/piwik/ > /doc_root/piwik/piwik-archive.log
2)cron設定
特定の時間に実行させたかったので、anacronではなくcrontabに設定しました。
# vi /etc/crontab
5 * * * * www-data /usr/bin/php /doc_root/piwik/misc/cron/archive.php — url=http://example.org/piwik/ > /var/log/httpd/piwik-archive.log
(新しいバージョン)
5 * * * * www-data /usr/bin/php /doc_root/piwik/console core:archive –url=http://example.org/piwik/ > /var/log/httpd/piwik-archive.log
3)Piwik管理画面アクセス時のアーカイブ処理を無効にする
cronで1時間に1回アーカイブ処理を実行するように設定したので、Piwik管理画面をブラウザで表示される際に行われていたアーカイブ処理を無効にします。
①Piwik管理画面→上部メニューの「設定」→左サイドメニューの「全般の設定」
②”リポートがブラウザで表示されたときをトリガーとする Piwik アーカイブ処理を許可”を”いいえ”に変更
③「保存」ボタン押下