SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
5分で猫る Varnish
@silpheed_kt
#ssmjp 2018/1/12
目次
5分で猫る Varnish
#ssmjp 2018/1/12
• 自己紹介
• Varnish とは
• Varnish の特長
• 注意点
自己紹介
@silpheed_kt
Keiichi Tanaka
都内のゲーム開発会社で
ソフトウェア開発+インフラ構築
5分で猫る Varnish
#ssmjp 2018/1/12
Varnish #とは
・ HTTPキャッシュ
・ リバースプロキシ
https://varnish-cache.org/
現在の最新版は5.2.1
5分で猫る Varnish
#ssmjp 2018/1/12
Varnish #とは
Apache
PHP
(CMS)
Varnish DB
要求
返却
キャッシュ
生成
・ キャッシュがないとき
→バックエンドに問い合わせキャッシュを生成し返却
5分で猫る Varnish
#ssmjp 2018/1/12
Varnish #とは
Apache
PHP
(CMS)
Varnish DB
要求
キャッシュ
返却
・ キャッシュがあるとき
→キャッシュを返却
動作しなくてOK
5分で猫る Varnish
#ssmjp 2018/1/12
Varnish #とは
??? 「nginxでいいのでは」
5分で猫る Varnish
#ssmjp 2018/1/12
Varnish #とは
??? 「nginxでいいのでは」
→はい
5分で猫る Varnish
#ssmjp 2018/1/12
Varnish の特長
・ 速い(らしい)
メモリにキャッシュ(ファイルにキャッシュも可)
実案件にて約4倍(実機)、約130倍(VM)
※同一同時アクセス数に対して返却完了するまでの時間を比較
・ 導入が簡単
yum 等でインストール可
Listen するポートとバックエンドを指定するだけで動作
・ 可用性
VCL による柔軟な設定
VMOD による機能拡張
5分で猫る Varnish
#ssmjp 2018/1/12
注意点(1)
・ Varnish は「URL ベースで」キャッシュする
5分で猫る Varnish
#ssmjp 2018/1/12
注意点(1)
・ Varnish は「URL ベースで」キャッシュする
例えば、同一 URL で「サーバサイドで」デバイス判定を行い css 等を切り替
えている場合、キャッシュ生成時の結果を返し続ける。
→PC でアクセスしてもモバイルのページを返す、等々。
5分で猫る Varnish
#ssmjp 2018/1/12
注意点(1)
・ Varnish は「URL ベースで」キャッシュする
例えば、同一 URL で「サーバサイドで」デバイス判定を行い css 等を切り替
えている場合、キャッシュ生成時の結果を返し続ける。
→PC でアクセスしてもモバイルのページを返す、等々。
→にゃーん
5分で猫る Varnish
#ssmjp 2018/1/12
注意点(1)
・ Varnish は「URL ベースで」キャッシュする
例えば、同一 URL で「サーバサイドで」デバイス判定を行い cs s等を切り替
えている場合、キャッシュ生成時の結果を返し続ける。
→PC でアクセスしてもモバイルのページを返す、等々。
→にゃーん
・ デバイス判定はクライアントサイドで行う
5分で猫る Varnish
#ssmjp 2018/1/12
注意点(2)
・ Apache のログにアクセス元が全て 127.0.0.1 で記録される
5分で猫る Varnish
#ssmjp 2018/1/12
注意点(2)
・ Apache のログにアクセス元が全て 127.0.0.1 で記録される
リバースプロキシなので全てのアクセスは Varnish から行われる
→Varnish と同一ホストで Apache が動作していれば 127.0.0.1 となる
5分で猫る Varnish
#ssmjp 2018/1/12
注意点(2)
・ Apache のログにアクセス元が全て 127.0.0.1 で記録される
リバースプロキシなので全てのアクセスは Varnish から行われる
→Varnish と同一ホストで Apache が動作していれば 127.0.0.1 となる
→にゃーん
5分で猫る Varnish
#ssmjp 2018/1/12
注意点(2)
・ Apache のログにアクセス元が全て 127.0.0.1 で記録される
リバースプロキシなので全てのアクセスは Varnish から行われる
→Varnish と同一ホストで Apache が動作していれば 127.0.0.1 となる
→にゃーん
・ varnishncsa コマンドで Apache 互換のログを出力可能
※IP ベースのアクセス制限をかけてるときも注意!
(VCL でアクセス制限をかける等)
#ssmjp 2018/1/12
5分で猫る Varnish
注意点(3)
・ キャッシュ配下外へのアクセス集中で大量にメモリを消費
5分で猫る Varnish
#ssmjp 2018/1/12
注意点(3)
・ キャッシュ配下外へのアクセス集中で大量にメモリを消費
VCL で特定のディレクトリ等をキャッシュしないように設定
→容量が大きなファイル(100MB 程度)にアクセス集中
→Varnish が Apache に問い合わせ
→Apache がメモリを確保し、Varnish に返却
→Varnish がメモリを確保し、クライアントに返却、を要求毎に実行
(という想定)
5分で猫る Varnish
#ssmjp 2018/1/12
注意点(3)
・ キャッシュ配下外へのアクセス集中で大量にメモリを消費
VCL で特定のディレクトリ等をキャッシュしないように設定
→容量が大きなファイル(100MB 程度)にアクセス集中
→Varnish が Apache に問い合わせ
→Apache がメモリを確保し、Varnish に返却
→Varnish がメモリを確保し、クライアントに返却、を要求毎に実行
(という想定)
→返却し終わるまでメモリを解放できない
→アクセス集中時は帯域も逼迫し返却に時間がかかる
→サーバのメモリを消費し尽くす
5分で猫る Varnish
#ssmjp 2018/1/12
注意点(3)
・ キャッシュ配下外へのアクセス集中で大量にメモリを消費
→にゃーん(現実)
5分で猫る Varnish
#ssmjp 2018/1/12
注意点(3)
・ キャッシュ配下外へのアクセス集中で大量にメモリを消費
→にゃーん(現実は辛いね)
・ ファイルをキャッシュ配下に置く
・ キャッシュの有効期限を長くする
(リフレッシュ時に Apache が大量に起動することを防ぐ)
5分で猫る Varnish
#ssmjp 2018/1/12
ご静聴ありがとうございました
5分で猫る Varnish
#ssmjp 2018/1/12

Weitere ähnliche Inhalte

Mehr von silpheed (8)

秘密録音のすゝめ
秘密録音のすゝめ秘密録音のすゝめ
秘密録音のすゝめ
 
ブラックフライデーにみる購買運用の考察
ブラックフライデーにみる購買運用の考察ブラックフライデーにみる購買運用の考察
ブラックフライデーにみる購買運用の考察
 
ロービジョンとWindowsのマウスカーソル
ロービジョンとWindowsのマウスカーソルロービジョンとWindowsのマウスカーソル
ロービジョンとWindowsのマウスカーソル
 
ピコピコにも矜持あり
ピコピコにも矜持ありピコピコにも矜持あり
ピコピコにも矜持あり
 
LT動画を作ってみたLT(動画)
LT動画を作ってみたLT(動画)LT動画を作ってみたLT(動画)
LT動画を作ってみたLT(動画)
 
最強の拳、FM音源
最強の拳、FM音源最強の拳、FM音源
最強の拳、FM音源
 
そのドキュメントは誰がために
そのドキュメントは誰がためにそのドキュメントは誰がために
そのドキュメントは誰がために
 
「ゲーム・ミュージック・シーンをリードするクリエイター達」の思い出
「ゲーム・ミュージック・シーンをリードするクリエイター達」の思い出「ゲーム・ミュージック・シーンをリードするクリエイター達」の思い出
「ゲーム・ミュージック・シーンをリードするクリエイター達」の思い出
 

5分で猫るVarnish