Time to Read
1分
ざっくり、雰囲気と僕が興味を持った部分だけまとめています…。
- see also togetter: http://togetter.com/li/151585
@xcir さん
- varnish 2.1 -> 3.0 の機能変更などがメインの話題
- 専門用語連発で出端挫かれ気味…
- varnish は、 ESI をサポートする
- ESI とは http://www.akamai.com/html/support/esi.html
- ウノウラボさんによるサンプル http://labs.unoh.net/2011/02/varnishesi.html
@phji さん
- ピクシブ
- もともと Squid でキャッシュ、 NginX でディスパッチャを分けていたのだが、 varnish なら両方を兼ねられてうれしいのではないか? と
- まずは Squid を一機 varnish にして試してみた -> よくわからない
- varnish は (2.1系では) リスタートするとキャッシュが消える!!!カジュアル再起動やばい!!!
- よく分からないけどインスタンスが落ちていたことがあった。 OOM Killer ?
- イカ娘はもうオワコンなのか???
@PENGUINANA_ さん
- twitter検索(yats)
- varnish を、 (1)フロントのフェイルオーバーに、 (2)Solrの負荷分散とキャッシュに、 利用している
@mirakui さん
- EC2 でバーニッシュ
- 構成: Akamai – ELB – VARNISH – APACHE2+MOD_TOFU(独自開発、画像の生データのリサイズと表示) – S3
- iteration1: 100GB の EBS をスワップ領域にし、メモリにキャッシュを保存
- 失敗
- 実メモリを使っているときは大変軽量、高速だが、スワップの利用開始とともにLoadAverageが大爆発、撃沈
- iteration2: 100GB の EBS に、ファイルでキャッシュを保存
- 失敗
- ファイル保存時にも結局 OS のリードキャッシュでメモリ使うよ
- file 保存設定は何のためにあるの??? 要らない子???
- まとめ
- EC2 のインスタンス、より IO が速いものがあるのでそっちの高価な奴を使おう
- そう考えると MOD_TOFU のインスタンスを増やした方が安いし速い。あれ、キャッシュは……
@ar1 さん
- varnish と Squid の組み合わせ
- Squid はいくら何でも枯れすぎている、メインではいけてない
- varnish は速いけど、平気で落ちる、コケる
- HAProxyなど – varnish – Apache2
- これだと、落ちた varnish を再起動すると、キャッシュが消えてしまう以上一気に Apache2 にアクセスがきてしまい、 Apache2 が逝去する
- HAProxyなど – varnish – Squid(2~3インスタンスでOK) – Apache2
- これなら、Squid の機能(自分にキャッシュがない時、 parent や sibling にを見に行く)で、 Apache2 へのアクセス爆発を防げる
@spchildren さん
- @mirakui さんとこと大体同じ構成
- ファイルアップロード時、 MQ で Akamai と varnish にキャッシュクリアを投げる
- varnish が画像を返せると早いのでは(設定言語 VLC は、 C で組み込み処理が書けてしまう……)??? でもそこまで来るともはや何サーバなのか……
@hmsk さん
- ウェブオペレーション http://d.hatena.ne.jp/hxmasaki/20110513/1305304114 のお方
- 設定言語 VCL のはなし
- VCL -> C -> バイナリ のようにコンパイルされる
- いちいち VCL を書いてデプロイして確認は面倒
- varnishtest コマンド
- ちなみに、 vim も emacs も varnish 向けのモードがある
- varnishtest は、 xUnit 系程度には使えそうなテスティングフレームワーク
- watchr で設定変更を監視、テスト!
- VMOD の登場、VCL の記述をモジュール化できる。でも言語がまた特殊でややこしい
全体の感想
- まずは、試しに動かしてみないと分からないなあ~と思った。
- ただ、 HTTP で利用するものなら何でも、柔軟な設定でキャッシュできるようなので、夢が広がりそう
- 画像とか
- 内部 API をキャッシュしとくとか
- そもそも、 Rails その他アプリケーションレベルでのキャッシュを止めて varnish に任せるとか
- VCL が Perl っぽい文法で抵抗が……頑張ろう
- VCL のテスト駆動デプロイは一番参考にしたい所




