技術情報

速度改善のための Matomo(Piwik) の設定方法

2014年11月28日 機能説明

※注 この記事は Piwik1.8~2.17のアーカイブ情報です

1日あたり、数千ページビュー以上の場合、Matomo(Piwik) の動作を確認する以下のガイドをご確認ください。

目次
1. 速度改善のための Matomo(Piwik) 設定
2. 速度改善のためのサーバー設定
3. 速度改善のためのデータベースサーバー設定
4. リソース

速度改善のための Matomo(Piwik) 設定

・デフォルトでは、Matomo(Piwik) はリアルタイムでレポートを処理しますが、大規模なウェブサイト・トラッキングの場合、“リアルタイム”レポートを無効にし、(例えば1-6時間おきの)“本日”のレポートのみ処理する設定を強くおすすめします。この設定では、ユーザーインターフェースへのアクセスは、事前に処理されたレポートのみ読み込みます。

注:リアルタイム訪問者ウィジェットと訪問者ログは、なおリアルタイムで動きます。
他の“本日の”レポート(ベストキーワードなど)のみ、最新の訪問とページビューが含まれません。
高トラフィックウェブサイトのレポートの事前処理は、どのくらいかかる?もご確認ください。

Matomo(Piwik) を最新のバージョンにアップデートする
高トラフィックサーバーの新しい Matomo(Piwik) リリースの際、時に大規模な mysql テーブル (新しいフィールドやインデックスを追加する場合など)上で、SQL スキーマアップデートが行われます。なおスキーマアップデートは、完了までに数分から数時間かかりますが、これは、shell/command 行経由の Matomo(Piwik) アップデーターの実行を助けます。

速度改善のためのサーバー設定

事例:2013年3月、ある Matomo(Piwik) ユーザーから、たった 512M の PHP で、なんと 650万ページのトラッキングの事例が報告されました。
以下の推奨事項は、速度を最大限に改善するのためのサーバー設定のヘルプです。

・高トラフィックサイトのトラッキングには、強力な専用サーバーで Matomo(Piwik) をホスティングすることが、推奨されています。

・RAM メモリーは、Matomo(Piwik) ( php/mysql ) のサーバーに大きなプラスになります。
Matomo(Piwik) で大規模ウェブサイトがレポートを処理するために推奨されている最低限のメモリー容量は 1GB メモリーですが、RAM はさらにおすすめです。

・高いパフォーマンスには、PHP キャッシュの使用が重要です。それには、APC の使用をおすすめします。

・Apache や IIS にとって、より速く、より効率的なもう一つの選択として、Nginx や lighttpd などのライトなウェブサーバーの使用をおすすめします。

・NFS や glusterfs のような共有/クラスター/ネットワークファイルシステムで Matomo(Piwik) を使用しないでください。ネットワークファイルシステムは、Matomo(Piwik) に大きな負荷を生み、より遅くなります。
全ての Matomo(Piwik) ファイルには、スタンダードなファイルシステムの利用をお願いします。

・上級ユーザーは、Matomo(Piwik) を負荷のバランスがよい環境で動かすような設定を行ってください。また負荷調整の背後では、複数サーバーの使用をおすすめします。

・トラッカー
デフォルトでは、Matomo(Piwik) はリバース DNS の実行により、インターネットプロバイダを検知します。
そのために必要な処理時間やメモリー容量は、ほんのわずかです。
サイト訪問者の ISP を追跡したい場合、MaxMind の ISP または統合のいづれかを使用することで、より早くなります。
インストールについての詳細は、こちらをお読みください。

最適なパフォーマンスのためのもう一つの方法としては、プロバイダープラグインを無効にし、潜在的に遅いリバース DNS ルックアップのスキップがおすすめです。

非同期アクセスログの大規模ローディングによる高トラフィックサイトのトラッキング設定方法を学びましょう。(上級ユーザー向け)

速度改善のためのデータベースサーバー設定

・Matomo(Piwik) Mysql データベースサイズの使用量の概算は、5M ページビューにつきおよそ 1GB です。
ウェブサイトトラックが、1日あたり 100K ページビューの場合(1か月 3M)、データベースサイズは1年後に最大 7GB になることが予想されます。
素晴らしいパフォーマンスを達成するには、独自 URL の数を、低いトラック数に維持することが重要です。
URL としてカウントしたくない、無視すべき URL パラメータ(たとえばセッション ID パラメータなど)が設定されていることを確認してください。Matomo(Piwik) で追跡される独自 URL は、少ないほどよいです。

・全ての Matomo(Piwik) データは Mysql クエリを使用し保存および集約されています。
そのため、Matomo(Piwik) のパフォーマンスは MySQL データベースサーバーのパフォーマンスと
非常に強く結びついています。
最適な Mysql 設定を提案する Mysql チューニング入門または Mysql チューナーツールの使用をおすすめします。

・現在 Mysql の InnoDB 表はデフォルトで(Myisam の代わりに)使用されており、これによって、さらに信頼性が高まります。
なおパフォーマンスは、Mysql innodb 設定のチューニングにより改善されます。
それが RAM にフィットする限り、innodb_buffer_pool_size を増加させることができ、
一般的な Matomo(Piwik) のパフォーマンスをも改善します。

また、innodb_flush_log_at_trx_commit=2(参照)を設定することでトラッカーの処理能力を飛躍的に向上させることも可能です。
Innodb I/O on mysql.com の最適化もご確認ください。

・もし可能であれば、比較的高速なソリッド・ステート・ドライブ(SSDs)を使用してください。
・データベース容量が限られている場合、古いログの削除がおすすめです。
たとえば6か月以上前の訪問者ログなどを削除することで、データベースサイズをより管理しやすい状態に維持してくれます。

・あなたのウェブサイトが1か月に 100M ページ以上を追跡する場合、Php メモリー制限やその他の Mysql やハードウェア制限に達する可能性があります。
なかには、数か月で 10 万以上のページビューを追跡する Matomo(Piwik) ユーザーもいます。
もしヘルプが必要な場合は、Matomo(Piwik) エキスパートにご連絡ください。

リソース

高トラフィックウェブサイトの分析
データベースサイズの管理
Matomo(Piwik) サーバーの保護方法

このガイドは、Matomo(Piwik) プロフェッショナルサービスによって書かれました。
何かアドバイスや問題があれば、こちらにご連絡ください
素晴らしい Matomo(Piwik) をぜひ一緒につくってください。


※この記事はMatomo(Piwik)公式サイト2014年10月1日時点の内容です
※掲載内容が古くなっている場合もありますので最新情報はMatomo(Piwik)公式サイトをご覧ください。

オリジナルの記事はこちら
http://matomo.org/docs/optimize-how-to/