Time to Read

1分

ざっくり、雰囲気と僕が興味を持った部分だけまとめています…。

@xcir さん

@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 のテスト駆動デプロイは一番参考にしたい所