Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Iwana Chan
PDF, PPTX
3,378 views
tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方)
6/18クックパッドで行われたtokyo.vclでの発表資料です
Read more
8
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 36
2
/ 36
3
/ 36
4
/ 36
5
/ 36
6
/ 36
7
/ 36
8
/ 36
9
/ 36
10
/ 36
11
/ 36
12
/ 36
13
/ 36
14
/ 36
15
/ 36
16
/ 36
17
/ 36
18
/ 36
19
/ 36
20
/ 36
21
/ 36
22
/ 36
23
/ 36
24
/ 36
25
/ 36
26
/ 36
27
/ 36
28
/ 36
29
/ 36
30
/ 36
31
/ 36
32
/ 36
33
/ 36
34
/ 36
35
/ 36
36
/ 36
More Related Content
PDF
Varnishのログの眺め方
by
Iwana Chan
PDF
Varnish 4.0 Release Party in Tokyo発表資料
by
Iwana Chan
PDF
社内勉強会資料(Varnish Module)
by
Iwana Chan
PDF
VarnishではじめるESI
by
Iwana Chan
PDF
MongoDB2.2の新機能
by
Shoken Fujisaki
PDF
Open vSwitchソースコードの全体像
by
Sho Shimizu
PPTX
initとプロセス再起動
by
Takashi Takizawa
PDF
OpenFlowをXenServerで試してみよう
by
Kimihiko Kitase
Varnishのログの眺め方
by
Iwana Chan
Varnish 4.0 Release Party in Tokyo発表資料
by
Iwana Chan
社内勉強会資料(Varnish Module)
by
Iwana Chan
VarnishではじめるESI
by
Iwana Chan
MongoDB2.2の新機能
by
Shoken Fujisaki
Open vSwitchソースコードの全体像
by
Sho Shimizu
initとプロセス再起動
by
Takashi Takizawa
OpenFlowをXenServerで試してみよう
by
Kimihiko Kitase
What's hot
PDF
serverspecみんなで集めて(゚Д゚)ウマー?
by
Sho Hashimoto
PDF
V6 unix in okinawa
by
magoroku Yamamoto
PDF
Kernel fcache-bug
by
MITSUNARI Shigeo
PDF
日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall
by
博文 斉藤
PPT
HandlerSocket plugin for MySQL
by
akirahiguchi
PDF
Lisp Tutorial for Pythonista : Day 4
by
Ransui Iso
PDF
Reactive Extensions v2.0
by
Yoshifumi Kawai
PDF
仮想記憶入門 BSD-4.3を例題に
by
magoroku Yamamoto
PDF
CasualなMongoDBのサービス運用Tips
by
Naoki Sega
PDF
Memory sanitizer
by
MITSUNARI Shigeo
PDF
Casual Compression on MongoDB
by
moai kids
ODP
Mongo dbのgridfsについて
by
Masahiro Saito
PDF
#logstudy 01 rsyslog入門
by
Takashi Takizawa
PDF
JVM-Reading-ConcurrentMarkSweep
by
Minoru Nakamura
PDF
Kernel vm study_2_xv6_scheduler_part1_revised
by
Toshiaki Nozawa
PDF
PaaSの作り方 Sqaleの場合
by
hiboma
PPT
CPANの依存モジュールをもう少し正しく検出したい
by
charsbar
PDF
片手間MySQLチューニング戦略
by
yoku0825
PDF
C#次世代非同期処理概観 - Task vs Reactive Extensions
by
Yoshifumi Kawai
PPTX
HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜ
by
basicinc_dev
serverspecみんなで集めて(゚Д゚)ウマー?
by
Sho Hashimoto
V6 unix in okinawa
by
magoroku Yamamoto
Kernel fcache-bug
by
MITSUNARI Shigeo
日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall
by
博文 斉藤
HandlerSocket plugin for MySQL
by
akirahiguchi
Lisp Tutorial for Pythonista : Day 4
by
Ransui Iso
Reactive Extensions v2.0
by
Yoshifumi Kawai
仮想記憶入門 BSD-4.3を例題に
by
magoroku Yamamoto
CasualなMongoDBのサービス運用Tips
by
Naoki Sega
Memory sanitizer
by
MITSUNARI Shigeo
Casual Compression on MongoDB
by
moai kids
Mongo dbのgridfsについて
by
Masahiro Saito
#logstudy 01 rsyslog入門
by
Takashi Takizawa
JVM-Reading-ConcurrentMarkSweep
by
Minoru Nakamura
Kernel vm study_2_xv6_scheduler_part1_revised
by
Toshiaki Nozawa
PaaSの作り方 Sqaleの場合
by
hiboma
CPANの依存モジュールをもう少し正しく検出したい
by
charsbar
片手間MySQLチューニング戦略
by
yoku0825
C#次世代非同期処理概観 - Task vs Reactive Extensions
by
Yoshifumi Kawai
HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜ
by
basicinc_dev
Similar to tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方)
PDF
Varnish Cache inline-C/VMOD guidebook
by
Iwana Chan
PDF
VarnishCache入門Rev2.1
by
Iwana Chan
PDF
BPStudy20121221
by
Shinichiro Takezaki
PDF
Hadoopによるリクルートでの技術調査とその活用
by
Chiaki Hatanaka
PPTX
HTML5最新動向
by
Shumpei Shiraishi
PDF
Kyoto Tycoon Guide in Japanese
by
Mikio Hirabayashi
PPT
Webサーバの基礎知識【編集済み】
by
Kikunaga Taishi
PDF
Bossan dentoo
by
kubo39
PDF
Weeklycms20120218
by
Yoshi Sakai
KEY
Apache 2.4 ChangeLog at 闇Webサーバ勉強会#5
by
Naoya Nakazawa
PDF
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
by
Ryosuke MATSUMOTO
PPTX
HTML5&API総まくり
by
Shumpei Shiraishi
PPTX
20130215 fluentd esper_2
by
Ogibayashi
PDF
PHP & Queue
by
sasezaki
PDF
Node.js入門
by
俊夫 森
PDF
Pfi Seminar 2010 1 7
by
Preferred Networks
PDF
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
by
Developers Summit
PDF
UnicastWS vol.1
by
Unicast Inc.
PDF
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
by
Takashi Sogabe
PDF
コード読経会報告書
by
Masahiko Toyoshi
Varnish Cache inline-C/VMOD guidebook
by
Iwana Chan
VarnishCache入門Rev2.1
by
Iwana Chan
BPStudy20121221
by
Shinichiro Takezaki
Hadoopによるリクルートでの技術調査とその活用
by
Chiaki Hatanaka
HTML5最新動向
by
Shumpei Shiraishi
Kyoto Tycoon Guide in Japanese
by
Mikio Hirabayashi
Webサーバの基礎知識【編集済み】
by
Kikunaga Taishi
Bossan dentoo
by
kubo39
Weeklycms20120218
by
Yoshi Sakai
Apache 2.4 ChangeLog at 闇Webサーバ勉強会#5
by
Naoya Nakazawa
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
by
Ryosuke MATSUMOTO
HTML5&API総まくり
by
Shumpei Shiraishi
20130215 fluentd esper_2
by
Ogibayashi
PHP & Queue
by
sasezaki
Node.js入門
by
俊夫 森
Pfi Seminar 2010 1 7
by
Preferred Networks
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
by
Developers Summit
UnicastWS vol.1
by
Unicast Inc.
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
by
Takashi Sogabe
コード読経会報告書
by
Masahiko Toyoshi
tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方)
1.
VarnishCache3 <3
2011/06/18 いわなちゃん(@xcir)
2.
自己紹介 ●
いわなちゃん(@xcir) ● 携帯向けサイトやソーシャルゲームな会社で VarnishやらC#やらPHPやったり ● Smalllightを最近触ってます ● 六本木にいます ● 自炊派なのでクックパッドさんの キッチンが羨ましくて困ります 絡んでくれると喜びます!
3.
VarnishCache3
リリースおめでとうございます ● いろんな新機能が増えましたね ● ESIでのgzipのサポート ● よりスマートな拡張(VMOD) ● デフォルトパラメータがよくなった ● varnishncsaでカスタムログ形式が使える! ● ログ系コマンドで正規表現を利用した絞り込み ● vcl_init,vcl_finiの追加 ● Rangeリクエストのデフォルト有効 ● ストリームサポート ● 特定のストレージにオブジェクトを格納できる ● Etc...
4.
ESIでのgzipサポート ●
3.0以前ではgzipのオブジェクトを解凍できな かった ● つまりESIのように合成を行う場合はすべての要素 が 圧縮されていない必要があった ● 3.0以降ではgzip圧縮/解凍ができる ● 要素がgzipされていても解釈できる ● 格納時にgzip圧縮が可能 – なおESIだけのgzip対応ではないので他にも応用できます – 例えば今まではgzipしてるのとされていないのでそれぞ れキャッシュしてましたがそれが一つですみます
6.
ESIでのgzipサポート ●
ただ効率的に使用するには 要素は圧縮されていないのが望ましいです ● 要素が圧縮されてる場合 – 解凍→ESIコード解釈→その後の処理 ● 要素が圧縮されてない場合 – ESIコード解釈→その後の処理 参考VCL sub vcl_miss { if (ESI処理を必要とするオブジェクト) { unset bereq.http.accept-encoding; } } sub vcl_fetch { if (ESI処理を必要とするオブジェクト) { set beresp.do_esi = true; set beresp.do_gzip = true; } }
7.
よりスマートな拡張(VMOD)
@hmskさんが 詳しく説明してくれると思いますので飛ばしま す!
8.
デフォルトパラメータが良くなった ●
パフォーマンスがよくなるように設定されてい ます ● すでに色々調整されている方はあまり関係ない かもしれません ● 面白いのがcc_commandが変わりました ● exec cc -fpic -shared -Wl,-x -o %o %s (3.0以前) ● exec $PTHREAD_CC $OCFLAGS $PTHREAD_CFLAGS -fpic -shared -Wl,-x -o %o %s (3.0) ● ここのコマンドはVCLのコンパイルに利用されるので色々調整す ると高負荷時に少し変わってきます
9.
varnishncsaでカスタムログが使える! ●
-Fオプションでカスタムログが指定できるよう になりました ● varnishncsa -F "%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-agent}i" ● ・・・が%{XX}iで指定できるヘッダが限られて います ● Referer,Host,X-Forwarded-For,User-agent ● 他にも%Dや%Tなどが使えないためApacheの記述そ のままとはいきませんのでちょっと注意が必要です
10.
ログ系コマンドで
正規表現を利用した絞り込み ● Varnishlog/ncsa/hist/sizesで利用可能です ● トランザクション中でマッチするものがあれば出力します ● Varnishlogの場合一致した行だけではなく そのトランザクション全部出力します ● -m Tag:Regexの形式です ● varnishlog -m "TxHeader:X-Cache: HIT" – この場合ヒットしたオブジェクトのログを出力します
11.
ログ系コマンドで 正規表現を利用した絞り込み
12.
vcl_init,vcl_finiの追加 ●
VCLがロードされたときにvcl_init ● VCLがアンロードされたときにvcl_fini ● β2で確認した呼び出されるパタンです ● ただ正式版でいくつか見たところ変わらずぽいです
13.
Rangeリクエストのデフォルト有効 ●
Rangeリクエストがデフォルトで有効になりま した (僕のような)携帯で動画を扱うサイトは嬉しいと思い ● ます
14.
ストリームサポート
ストリームOFF 1 2 Varnish バックエンド 5 3 4 1. ユーザからリクエスト 2. キャッシュがないのでバックエンドに問い合わせ 3. バックエンドがVarnishにレスポンス 4. バックエンドからのレスポンスを受けきるまで待つ 5. ユーザにレスポンス
15.
ストリームサポート
ストリームON 1 2 Varnish バックエンド 3’ 3 1. ユーザからリクエスト 2. キャッシュがないのでバックエンドに問い合わせ 3. バックエンドがVarnishにレスポンス 3'. バックエンドからのレスポンスを 順次ユーザにレスポンス
16.
ストリームサポート
ストリームOFF ストリームON
17.
ストリームサポート
制限事項 ● 同一ファイルを同時にストリームはできません ● 後続のストリームは保留されます
18.
特定のストレージにオブジェクトを格納できる ●
まず起動時にストレージの名前が指定できるよ うになりました ● -s [ユニーク名=]ストレージタイプ[,opt] – -s filestorage=file,/tmp/0,1G – -s persistentstorage=persistent,/tmp/1,1G – -s memorystorage=malloc,1G ● そして付けた名前を利用してどこに格納するか 指定できます ● set beresp.storage="persistentstorage";
19.
その他の変更点 ●
CLI接続してstatsができなくなりました ● VCLのチェックが厳密になりました ● 同じ名前のbackendがある ● Backend内のprobeのキーが重複 ● 同じ名前のACL ● ↑どれもVCLコンパイルの時に弾かれます ● VCLのUnusedエラーを無視する起動オプション追加 ● -p vcc_err_unref=off ● backendの定義はあるけど参照していない場合でも警告だけ でエラーは出ない
20.
こんなにかわった3.0! Let's enjoy Varnish
Cache3.0!!
21.
ちょっとまって! パラメータの削除があるよ
22.
起動パラメータの互換がない変更点
2.1→3.0 ● 削除された物 ● cache_vbe_conns ● err_ttl ● purge_dups ● 名前が変わった物 ● http_headers → http_max_hdr ● max_esi_includes → max_esi_depth ● overflow_max → que_max
23.
ちょっとまって! 結構VCL記述変わってるよ
24.
VCL記述の変更点
2.1→3.0 ● (obj | beresp).cacheableの廃止 ● ESIを使うときの指定方法 ● vcl_fetchでのreturn(pass)が変更 ● req.hash += value;の記述変更 ● 文字列の結合の仕方が変わった(!) ● LogメソッドがVMODに移動したよ ● purge()がban()になったよ ● 文字列中の%エスケープがなくなったよ
25.
●
(obj | beresp).cacheableの廃止 ● Obj.cacheableとberesp.cacheableはなくなりました ● キャッシュするかどうかは以下のパラメータから判断 ● beresp.ttl – キャッシュ時間 ● beresp.grace – キャッシュが切れたときの猶予期間
26.
ESIを使うときの指定方法
3.0以前 3.0以降 sub vcl_fetch { sub vcl_fetch { if (req.url == "/test.html") { if (req.url == "/test.html") { esi; set beresp.do_esi = true; set obj.ttl = 24 h; set obj.ttl = 24 h; } elseif (req.url == "/cgi-bin/date.cgi") { } elseif (req.url == "/cgi-bin/date.cgi") { set obj.ttl = 1m; set obj.ttl = 1m; } } } }
27.
vcl_fetchでのreturn(pass)が変更
3.0以前 3.0以降 sub vcl_fetch { sub vcl_fetch { return(pass); return(hit_for_pass); } } vcl_fetchだけで他の箇所は変更ありません
28.
req.hash += value;の記述変更
3.0以前 3.0以降 req.hash += value; hash_data(value);
29.
文字列の結合の仕方が変わった
(!) 3.0以前 3.0以降 req.url"AAA" req.url+"AAA" +演算子で結合するようになりました
30.
LogメソッドがVMODに移動したよ
3.0以前 3.0以降 sub vcl_recv{ import std; log req.url; sub vcl_recv{ } std.log(req.url); } logメソッドはvmod_stdに移動しました
31.
purge()がban()になったよ
3.0以前 3.0以降 purge("req.http.host == " req.http.host ban("req.http.host == " + req.http.host + "&& req.url == " req.url); "&& req.url == "+ req.url);
32.
文字列中の%エスケープがなくなった
よ 3.0以前 3.0以降 入力 入力 log "AAABBB:%67%67%67%67%67%67%67%67"; std.log("AAABBB: %67%67%67%67%67%67%67%67"); 出力 出力 13 VCL_Log c AAABBB:gggggggg 12 VCL_Log c AAABBB: %67%67%67%67%67%67%67%67
33.
参考程度に2.0→2.1
のアップデート方法 ● 2.0→3.0に上げるときは両方やれば問題ないで す
34.
起動パラメータの互換がない変更点
2.0→2.1(参考) ● 削除された物 ● accept_fd_holdoff ● acceptor ● backend_http11 ● client_http11 ● obj_workspace ● purge_hash ● srcaddr_hash ● srcaddr_ttl
35.
VCL記述の変更点
2.0→2.1(参考) ● vcl_fetchでobj.*が使えなくなりました ● beresp.*に置換してください ● サブルーチン内でのアクションの取り扱い 2.1以前 2.1以降 sub vcl_recv { sub vcl_recv { if (req.request == "GET" && req.http.cookie) { if (req.request == "GET" && req.http.cookie) { lookup; return(lookup); } } } }
36.
あらためて Let's enjoy Varnish
Cache3.0!! ありがとうございました
Download