web-dev-qa-db-ja.com

ページキャッシュヒット率をログに記録するにはどうすればよいですか?

私はphp-fpm/nginxスタックでD7を実行しています。

キャッシュの有効期間とクローラーの頻度のいくつかの異なる組み合わせをテストし、それがページキャッシュのヒット率にどのように影響するかを確認したいと思います。組み込みのページキャッシュ用にtime | url | ip | hit/missを使用してログを作成する最も簡単な(そして合理的なパフォーマンスの)方法は何ですか。

4
JamesK

私はnginxに初歩的な方法でロギングを行わせる方法を理解しました。 fastcgi_passディレクティブの後に以下を追加しました。

log_format cache '$time_local $remote_addr $request_uri $sent_http_x_drupal_cache';
access_log /var/log/nginx/cache.log cache;

この解決策にはいくつかの問題があるので、これを回答済みとしてマークするつもりはありません。

  1. X-Drupal-Cacheヘッダーが設定されていないページ(ログインユーザー)を除外しません
  2. ログに記録したくないIPを除外しません(たとえば、私のもの)

とりあえず、ログファイルを解析して統計を作成するときにこれらの問題に対処するだけですが、誰かがログからそれらを除外する方法を持っている場合は、それが望ましいでしょう。

1
JamesK