次の様なケースの Varnish の振る舞いを調べてみた キャッシュされていないコンテンツに同時にアクセスされた時(thundering herd problem) TTL 設定したキャッシュコンテンツが expire した時(grace mode) オリジンサーバが HTTP ステータス 500番台を返してきた時(saint mode) 構成 client – Varnish/3.0.4 – nginx/1.1.19 & php-fpm 通常のキャッシュの振る舞い Varnish を使うとコンテンツがキャッシュされることを確認。 確認方法 現在時刻を返すだけのページ sleep.php を用意。 意図的に処理時間がかかるよう sleep を挟む <?php sleep(5); echo date('Y/m/d H:i:s') . "\n"; ?> 未キャッシュ状態でアクセスすると現在時刻