More Related Content
PDF
PDF
日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall PDF
PDF
Nuxt.js + microCMS + netlify PDF
PDF
PDF
Hive undocumented feature PDF
Docker+CoreOS+GCEで自動スケール分散レイトレ What's hot
PDF
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料 PDF
C#次世代非同期処理概観 - Task vs Reactive Extensions PDF
PDF
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅- PDF
PDF
PPTX
PDF
2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料 PDF
PDF
PDF
PDF
PPTX
サバカン屋のサバ缶はre:Inventで通用したのか&すぐに使える!最新運用ネタ #re:Port2016 PDF
Lisp Tutorial for Pythonista : Day 4 PDF
PDF
PPTX
PDF
Deep Dive async/await in Unity with UniTask(UniRx.Async) PDF
PDF
Similar to VarnishではじめるESI
PDF
PDF
tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方) PDF
画像キャッシュだけじゃないVarnish(qpstudy02 飛び入りLT) PPT
Varnishの使い方~All Aboutでの使い方を例に~ PDF
PDF
国内最大級の総合情報メディアを支えるVarnish Cache PPTX
徳丸本に載っていないWebアプリケーションセキュリティ PDF
PDF
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜 KEY
PDF
デザイナー向け 初めてのPhp ~サイト制作に役立つtips~ KEY
PPTX
PDF
Hadoopによるリクルートでの技術調査とその活用 PPTX
サーバーの初歩的な話セミナー@大阪20120901 PPT
PPTX
PDF
Amazon ElastiCache - AWSマイスターシリーズ PDF
PDF
20120117 13 meister-elasti_cache-public VarnishではじめるESI
- 1.
- 2.
自己紹介
● いわなちゃん(さん) (@xcir)
● ソーシャルゲームをやってる会社で
VarnishやらC#やらPHPやったり
● 六本木にいます
● アルパカが好きです
● 会場がCAなのでアメーバ水が欲しいです!!
絡んでくれると喜びます!
- 3.
- 4.
- 5.
- 6.
- 7.
動的?静的?
ブログ名を
変更するまで
静的
管理ページで
変更するまで
静的
新しい投稿が 新しい投稿が
あるまで静的 あるまで静的
- 8.
- 9.
- 10.
- 11.
動的?静的?
+
+ +
+ + + +
Aさんの要求するページ Bさんの要求するページ
- 12.
動的?静的?
ユーザによって
出る内容が違うのなら
ページをキャッシュ出来ない?
- 13.
- 14.
- 15.
ESIとは
(Edege Side Includes)
2001年にAkamaiやOracleなどが策定
Webページの要素を動的に構成する仕組み
http://www.w3.org/TR/esi-lang
特殊なタグをコンテンツに埋め込んで使う
<esi:include src=”url”>
指定URLからコンテンツを取って埋め込む
などなど
Varnishは一部のタグのみサポートしてます
- 16.
- 17.
VarnishでESIを使ってみよう
default.vcl esi.html
------------------------------------------ ------------------------------------------
backend default{ <html>
.host="localhost"; <body>
.port="81"; 20sec <esi:include src=”/a.php”>
} 2sec <esi:include src=”/b.php”>
</body>
sub vcl_fetch{ </html>
set beresp.do_esi = true;
}
a.php
------------------------------------------
これだけで有効に <?php header('Cache-Control: max-age=20');?>
<div>
<?php echo date('Y/m/d H:i:s');?>
</div>
b.php
------------------------------------------
<?php header('Cache-Control: max-age=2');?>
<div>
<?php echo date('Y/m/d H:i:s');?>
</div>
- 18.
- 19.
- 20.
VarnishでESIを使う理由
今回のは明示的にmax-ageを指定しましたが
実際はテンプレートで
キャッシュ時間を指定したい!
(こんな感じで)
esi.html
------------------------------------------
<html>
<body>
20sec <esi:include src=”/a.php?ttl=120s”>
2sec <esi:include src=”/b.php?ttl=10s”>
</body>
</html>
VCLで拾ってTTL設定も簡単
などなど細かい制御が容易な
Varnishがおすすめ!
- 21.
ESIは銀の弾丸ではない
素晴らしいESIですが
入れれば即100倍界王拳とは行きません
たとえば
キャッシュができないコンテンツ(携帯での広告)
極端に更新間隔の短いコンテンツ
etc...
いろいろ適用が難しい場合もあります
キャッシュの一つの手段として
考えてもらえば幸いです
- 22.
- 23.
VarnishでESIで使う際の注意
ユーザー毎に出しわけをする
要素を含む場合は
必ずvcl_hashでその値を追加してください
でないと全てのアクセスで
同じ結果が出るという悲しい事態に・・・
Varnishはオブジェクトを特定するのにHashを使います
そのHashを生成するキーにユーザIDを含めるようなイメージです(クッキーから抽出とか)
- 24.
- 25.
- 26.
- 27.
- 28.