by hato
Varnish
1
Web Siteが重い
WebブラウザでWeb Siteを表示すると遅い
。なにが悪い?
2
原因いろいろ
3
できないこと
プログラム(ロジック)にさわると、デグ
レードしそうなので、触りたくない。
DBの調整とか、当然、やり尽くした。
Webサーバの分散数を増やすのはコスト的
に無理。
4
できること
Webサーバへのアクセス量を
減らせばいいかも。
キャッシュサーバを置くことにする。
5
(Forward)Proxy
Web Browser側で設定。
いわゆる串。
squidなど。
6
ReverseProxy(1)
Web Server側で設定。
apacheもReverceProxy機能を持っている。
アプリケーションサーバなどで、利用する
。
7
ReverseProxy(2)
Web Server側で設定。
apacheなどの高速化のため、varnish があ
る。
8
varnishのお仕事
・http serverのフリ
・とりあえず、apacheに仕事を回す
・apacheからの返事をキャッシュする
・キャッシュが有効なうちは、apacheの代わりに返
事する
9
varnishの特徴
・オンメモリ処理でとにかく速い!
・apache形式のaccess logも出力可能
・キャッシュする・しないを細かく設定可能
(独自言語VCL Varnish Control Language)
10
VCLでできること
・正規表現バッチリ
・キャッシュをいろいろな条件でON/OFF
・人気エントリーを上位5件リストを生成し、任意の
ページに付加表示
11
12
varnishにできないこと
・SSL対応(routerでSSLを解く仕組みならOK)
・cookieなど識別情報付きのページをキャッシュ
(当たり前だけど、やるほうがダメ)
13
デモ
• varnishtop ... top
• varnishrnsa ... log出力
• varnishadm ... 管理
• varnishstat ... 統計
• varnishhist ... cache hit と性能グラ
フ
14

Varnish