キャッシュクリアのタイミング関係
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 日本語版
それ用のプラグインもあるようですが、使っていない・中身を見てないのでちょっとわかりません。
スポンサーリンク
コメントを残す