Varnish 4.0 Release Partyに参加してきました。 #v4rp #v4rp_tokyo

カテゴリ: Technology

Author: f_prg

Twitter: f_prg

Varnish 4.0 Release Party

ハッシュタグ:#v4rp #v4rp_tokyo イベントページ:http://www.zusaar.com/event/5317003

1。あいさつ。 3.0もここでやった。

varnish新バージョンリリース、様子見、いわなちゃんまち、検証ブログ、安心、実用段階。

2.ピザ+ビール おいしかったです。

3.いわなちゃん クックパッドプレミアム会員。

version4.0で変更が多い。

クライアント/バックエンドの通信スレッドを分離 VSLの強化 VCLの変更、かなりアグレッシブ。

クライアント/バックエンドの通信スレッドを分離 ほぼほぼ書き直しレベル。 V3までは、client・backendのやりとりを同一のスレッドで処理する。 V4ではclient・backendを別々のスレッドで処理する。 limitに達している場合は同一スレッドが使われている。 pipe時には

分離することで。。。。 パラレル

ストリームのフルサポート 最初にリクエストしたクライアントのみが対象がV3。 V4はその制限がなくなった。 V3.0.5ではfetchを行い新オブジェクトを転送する、fetchの間 V4はバックグランドでfetchを行い、自コネクションは古いオブジェクトを転送。

VSL Query Expresions 非常に強力なログのフィルタリング機能 コマンド一発でできて、負荷は小さい。

VSLのグルーピング varnishの生ログ(VSL)は非常に強力 V3では難しかった。 V4ではグルーピングができるようになった。 group types・・・・・・session, request, vxid, raw

session セッション単位でrequestをグループか 1セッションで複数のリクエストがある場合は複数出力 ログのprefixの[*]や[-]の個数はlevelを表す [-4-]

request 1つのHTTPのリクエストに関わるトランザクション(vxid)をグルーピングする。

vxid 1つのトランザクション(vxid)をグルーピングする

raw v3と同じフォーマット。 以前とはわかりやすくなった. vxid > 0・・・トランザクションに関わるデータ vxid == 0・・・トランザクションに関わらないデータ

まとめ 非常にわかりやすくなった。

VSL Query レベル、タグ *でのマッチング :で区切られている場合でのKey など

※0.9 > 0は一致しない。

VCLの変更 変更は非常に多い スレッド分離による、独立性が高まった。 Directorがvmodに移管された req., bereq.

purgeの変更 V3:purge v4:return(purge)

vcl変更が多い。

Directorの変更 vmod化(vmod_directors)

roudrobin, fallback, hash, random (DNSはなくなった、clientの代替にhashを使う)

起動オプションの変更 -w min[,max[,timeout]]がなくなった

セキュリティ対策 inline-Cがデフォルト無効に  使用する場合は、vcc_allow_inline_cをonに vmodがリクエストボディへのアクセスが可能に

累積バグの解消 #545 #1141

実例 1200万PV ピークで100M 900のVPSを数台使ってるところに導入してみた。

expiresの計算が楽になった。

varnishstat hit-rateが出なくなった。 varnishnsca %Dが変わった。(秒からμ秒単位に varnishhist -P varnishsizes varnishreplay

persistentストレージのioの負荷が軽減 先頭siloがexpireしている場合としてない場合とV3, V4での挙動が変わった。

directorのハッシュ分散が同じにならない。

V4ではAgeを意識しないとキャッシュできなくなる。

バグっぽい vcl_purge #1489 #1490

バグフィックスを含んだ、v4.0.1を待つと良いかと。 expenditial

今まで、適当に使ったりしてましたがしっかりと 資料や、ソースコードみて復習しようと思います。

20140429-201943.jpg 20140429-201943.jpg 20140429-201953.jpg 20140429-202000.jpg