ページ

2015年9月24日

ちょい足しレシピ:fastcgi_cacheがヒットしているかどうかチェックする


fastcgi_cacheでもporxy_cacheを使っていて、ホントにキャッシュが効いているかどうかチェックするにはログ出してね。

$upstream_cache_statusを使って


元記事:Using $upstream_cache_status in access.log

キャッシュログを出力して、awkで表示させているのでわからない人がいるかもしれないのですが・・・

カスタムログファイルを出力

/etc/nginx/nging.confにcacheログを出力するように追加します:

log_format rt_cache '$remote_addr - $upstream_cache_status [$time_local]  '
                    '"$request" $status $body_bytes_sent '

                    '"$http_referer" "$http_user_agent"';

access_log   /var/log/nginx/cache.log rt_cache


一行コマンドでログを集計

今風なコマンド使いじゃないけど・・・


# awk '{print $3}' cache.log  | sort | uniq -c | sort -r

    350 -
     62 HIT
      9 EXPIRED
      8 MISS

ほ〜ら、キャッシュにヒットしています。

※awkの$3で出力していますので、ログフォーマットは上記の通りでなければダメですよ。