Varnishキャッシュの情報

  • 投稿 : 2016-06-16

キャッシュクリアのタイミング関係

Varnish のオフィシャルサイトの次の2つのドキュメントを主に参考にして Varnish のクリア・更新方法についてメモ。特に、後者は詳しくておすすめ。

・Varnish Tutorial : Purging and banning
https://www.varnish-cache.org/docs/3.0/tutorial/purging.htmlVarnish Book : Cache invalidation
https://www.varnish-software.com/static/book/Cache_invalidation.html

キャッシュ更新パターン

ざっと以下の5パターンがある
1.Varnish のキャッシュオブジェクトにTTLを設定する(beresp.ttl)
2.単一オブジェクトのキャッシュをクリア(purge)
3.単一オブジェクトのキャッシュを書き換え(req.hash_always_miss)
4.次回アクセス時にはキャッシュを更新するようにリストで管理(ban)
5.ban 対象のキャッシュをリクエストとは無関係にクリア(smart ban)

Varnishキャッシュのクリアについてメモ | Siguniang's Blog

キャッシュクリアのタイミングとかがわかりやすく書かれていると思います。英語の原文をみればわかるんですけどね。

構築の実例

Varnishは、なれるまで設定ファイルの記載が難しいですが、なれると簡単に柔軟なキャッシュの制御ができるようになります。

Varnishを入れておけば、急激なアクセス増にもある程度までは耐えれるようになるので、いざという時のために主要なページに適用しておくと安心だと思います。
2016/03/01:Yahoo!砲に耐えるためにVarnishを導入した - LCL 開発者ブログ

最近の事例で参考になるかも・・。

varnishとbackendのデバイス判定の統一化
varnishとbackend側でデバイス判定が統一できていないと、vanirsh側ではスマホと判定、backend側ではタブレットと判定というような矛盾が発生してしまう可能性があります。 そのため、デバイスの判定は全てvanirsh側で行い、backend側ではvarnishによって設定された「http.X-UA-Device」の値を元にデバイス判定をしています。
Yahoo!砲に耐えるためにVarnishを導入した - LCL 開発者ブログ

時々、とあるサービスでPC/スマホコンテンツが混ざってしまうのは、おそらくこれ関係かもと思われる。

Varnishの概略

Varnishに関していろいろ調べて試してみた - Qiita
Varnish入門と仕組み - Qiita

2012年6月19日:キャッシュエンジンの比較(1/3) | 最新の技術・取り組み | IIJ
2012年6月19日:キャッシュエンジンの比較(2/3) | 最新の技術・取り組み | IIJ

具体的には、リバース・プロキシーは Web クライアントと Web サーバーとの間に立ち、受信される各 HTTP と、それに対応する HTTP レスポンスをキャプチャーします。そして、リクエストとそれに対応するレスポンスの内容に応じて、リバース・プロキシー自身があたかも正真正銘の Web サーバーであるかのように動作します。場合によると、リバース・プロキシーは受信されるリクエストを単にそのまま Web サーバーに渡すこともあります。しかし一方で、リバース・プロキシーがリクエストそのものを処理することもできます。
2008年 3月 04日:Varnish を使って PHP アプリケーションのスケーリングを行う - www.ibm.com

概要とかそういう関係は上記リンク先で、流し読みを・・。

Wodpressとの連携関係

Varnish HTTP Purge — WordPress Plugins
WordPress の最適化/高トラフィック WordPress サイト向けのヒント - WordPress Codex 日本語版

それ用のプラグインもあるようですが、使っていない・中身を見てないのでちょっとわかりません。


スポンサーリンク