為さねば成らぬ

retia.verno@gmail.com

Varnish メモ

仕事で使いそうなので触ってみる

インストール

公式のコマンド+jemallocが必要。今回はepelから取ってくる

rpm --nosignature -i https://repo.varnish-cache.org/redhat/varnish-4.0.el6.rpm
yum install -y epel-release
yum install -y jemalloc
yum install -y varnish

/etc/varnish/default.vcl

backend default {
    .host = "localhost";
    .port = "8082";
}

vcl_backend_responseはバックエンドからのレスポンスが帰ってきた時に呼ばれる
レスポンス自体はberespオブジェクトであり、そこにttlを設定することでキャッシュする

sub vcl_backend_response {
  set beresp.ttl=60s;
  return (deliver);
}

コンフィグテスト

varnishd -d -f [VCLファイル名] -C

varnishhist

ヒストグラムが見れる

f:id:verno3632:20141208223328p:plain

横軸がresponseを返すまでの時間
|はcache hit
#はcache miss

varnishtest

varnishtestする際、実際にvarnishが起動するのでvarnishdのパスが通ってなければならない 通ってない場合には、オプションとしてmacroを設定する

varnishtest -Dvarnishd=/path/to/varnishd hogehoge.vtc