3.0
夏に出したVarnishCache入門をPDFで公開しました – cat /dev/random > /dev/null &
4.0
Varnish 4.0 Release Party in Tokyoで発表してきました – cat /dev/random > /dev/null &
http://www.slideshare.net/xcir/v4rp-tokyo
http://qiita.com/koudaiii/items/6a0efa024842cd48e2fb
構文チェック
Varnishの設定ファイルの構文チェックを行う場合
varnishd -C -f /etc/varnish/default.vcl
pass はクライアントからのリクエストを受け取り、バックエンドに流します。Varnish では例えば同じ URL に 1000のリクエストが到達した時、バックエンドには 1つだけ流して他の 999のリクエストは待機状態とし、バックエンドから取得できた情報を残りの 999のリクエストにも流します。pass はこのような動作をします。
一方で pipe はリクエストをそのままバックエンドにつなげてしまう為、到達したリクエストを全てそのままバックエンドに送ってしまいます。この為、通常は pass を使うのがいいでしょう。
vcl 定義 順番
VCLの動きは「同じVCLアクション(vcl_recvなど)を複数定義する – cat /dev/random > /dev/null &」の
記事で触れているようにまずユーザが定義したVCLが読み込まれて
その後にbuiltinのVCLが動きます。builtinのVCL デフォルト
https://github.com/varnish/Varnish-Cache/blob/varnish-4.0.0/bin/varnishd/builtin.vclVarnish 4.0 Release Party in Tokyoで発表してきました – cat /dev/random > /dev/null &
hit-for-pass
「キャッシュしない」ことをキャッシュするのが hit for pass キャッシュオブジェクト。
同じ URL に、同時にアクセスされたとき、
キャッシュが見つからない場合 …… 先頭のリクエストだけをバックエンドに送り、残りはそのレスポンスを待つ。
hit for pass キャッシュが見つかった場合 …… 他のリクエストを気にせず、全部バックエンドに送る。
という動作になる。
Varnish の hit_for_pass ってなに? - こせきの技術日記
set beresp.ttl = 120s; set beresp.uncacheable = true
4.0 120秒間 hit-for-pass