Varnish4.1.3がリリースされました。
バグフィックスが主でアップデートを強く進めますが、他にも結構使える新機能が増えています。
新機能・変更
varnishncsaにバックエンドに問い合わせにいったものだけを表示するオプションが追加されました(-b)
今までは幾つか絞込の指定をしないと取れなかったのですが-bだけで済むので便利です
また同時にクライアントで絞り込んで表示するオプション(-c)も追加されています。(デフォルト動作)
ちなみに-b -cを同時に指定することも出来ます。
VSMを開放する際にどれだけ待機するかのパラメータが追加されました(vsm_free_cooldown)
今までは60秒でハードコードされていました。デフォルト値も60秒です。
通常の使い方ではいじることはないと思いますが、かなり激しいログの書き込みをするとかの環境だといじる機会はあるかもしれないです。
varnishlogの出力でバックエンドのトランザクションが開始する際にBackendStartが入るようになりました
クライアントのReqStartと対になるものです。
varnishncsaの-Fで指定できるものが増えました
3つ増えました。
Varnish:side
先ほど紹介した-b -cオプションに伴って増えたものです。
バックエンドで絞込をしている場合はbを、クライアントからの表示の場合はcを出力します。
-b -cを両方指定している場合に使うとどちらのログなのかがわかって良いと思います。
Varnish:vxid
vxidを出力します
VSL:tag VSL:tag[field]
指定したタグ(TimeStampなど)を出力します。
基本vsl-queryと同じ指定ですがヘッダ指定は出来ません(VSL:ReqHeader:User-Agentみたいなのは出来ない)
これできるといいなーと思うのでp-r書こうかな・・
ちなみに複数引っかかる場合は最初のを出力します。
例えばVSL:TimeStampを指定した場合は毎回Startのタイムスタンプが表示されます
TCP Fast Openをサポートしました
デフォルトはoffです(tcp_fastopen)
varnishtestに新しい同期用の命令を追加しました(barriers)
semaより使いやすいです
varnishstatで12桁以上の数値を出力する場合は丸めるようにしました#1855
CURRENTの表示でK/M/G/Tのように単位がつけられないカウンタは” %12ju”だったのですが12桁を超える場合は1000で割って” %9ju…”という表示になります。
コードを見た限りではxml/jsonで出力するときには影響しないのでそこまで気にすることはないかなと思います。
バグ修正
今回はかなりバグ修正が多いので幾つかピックアップして紹介します。
特にESI周りの修正が多いのでESIを使っている場合はアップデートすると良いと思います。
varnishncsaで-Lオプションが受け付けられないようになってたのを修正しました#1994
たまにAgeとAccept-Rangesヘッダが複数レスポンスされることがあるのを修正しました#1955
同名のVCLでvarnishをstop->startを繰り返すとその後segfaultを繰り返す事があったのを修正しました。#1933
dlopenのリファレンスカウンタが信用ならなかったみたいです。
vcl名は変わらないのですが、コンパイルしたvgc.soのパスに現在時刻(ナノ秒)が付与されるようになりました。
バッドアイデアとメッセージにあるので割と苦悩した感じがあります。
vcl_init/finiでstd.log/std.syslogを利用するとクラッシュするのを修正しました#1924
VSMのサイズが小さくてオーバーラン検出に問題が合ったのを修正しました#1873
varnishncsa等でオーバーランした際にもクラッシュしなくなりますが
オーバーランしたらvsmサイズを増やしたほうが良いでしょう。
それでも困るようであれば今回追加されたcooldownの調整も考えると良いかも
-Cオプション利用時にテンポラリで使用したディレクトリを消していなかったのを消すようにしました#1869
POSTリクエストをpipeで繋いだ場合に1分待たされることがあるのを修正しました#1806
4.1からはPOSTリクエストのデフォルトの動作がpassになっているので通常の場合は問題ないのですが
以前からの設定を使いまわしてる人などは割りとハマるかもしれないです。
バックエンドの接続数を示すカウンタを復活させました#1725
バックエンド周りのコード修正した際に意図せず消えたカウンタを復活させました。
確かに消えてました・・気づかなかった・・
次は5.0.0かなー
楽しみですね