SlideShare a Scribd company logo
1 of 25
Download to read offline
2020年2月12日
千株式会社
(社内向け勉強会)
Webシステムにおける
キャッシュの話
© SEN CORPORATION
宮里 新司(40)
  ものづくり部SREチーム
沖縄在住(30歳でUターン)、3児の父
社外活動&趣味
JAWS-UG沖縄コアメンバー
CoderDojo嘉手納メンター
バンド、フットサル、お酒
自己紹介
๏Solutions Architect - Professional
๏SysOps Administrator - Associate
© SEN CORPORATION
1. キャッシュとは
2. キャッシュの効果
3. キャッシュの必要性
4. キャッシュの種類
5. デモ
目次
© SEN CORPORATION
クライアントに近い高速な記憶装置に一時的にコピーされ
たデータ
そのコピーは以降のリクエストの応答に利用される
キャッシュとは
Q. どんな効果がある?
© SEN CORPORATION
A.
 1)応答速度を上げる
 2)バックエンド負荷を下げる
© SEN CORPORATION
Q. なぜ応答速度を上げたい?
© SEN CORPORATION
© SEN CORPORATION
遅いサイトはストレス
© SEN CORPORATION
Web表示速度=ブラウザにページが表示されるまでの速度
操作開始時間が3秒のサイトは1秒のサイトに比べ、コンバージョン
率は38%低下、直帰率は50%上昇する
引用元:日本ラドウェア (https://webtan.impress.co.jp/e/2014/07/08/17757)
サイト表示が0.1秒遅くなると、売り上げが1%減少し、1秒高速化
すると10%の売上が向上する
引用元:Amazon (robotics.stanford.edu/~ronnyk/2007IEEEComputerOnlineExperiments.pdf)
遅いサイトの順位が下がるのではなく、速いサイトの順位が上がる
引用元:Google (https://webmasters.googleblog.com/2010/04/using-site-speed-in-web-
search-ranking.html)
Web表示速度の重要性
Q. なぜバックエンド負荷を下げたい?
© SEN CORPORATION
© SEN CORPORATION
キャッシュがないと
全てのアクセスが
データストアに集中
© SEN CORPORATION
スケールアップして凌ぐとコストが急増
0
30
60
90
120
10 20 30 40 50 60 70 80 90
キャッシュあり キャッシュなし
ユーザ数
(単位:千人)
コスト(単位:万円) ユーザ数増加に
スケールアップで
対応するとコスト
が跳ね上がる
© SEN CORPORATION
つまり、
「キャッシュを効率よく使う」ことは
⇨ユーザ増加による追加コストを抑える
⇨サービス持続性を高め成長を加速できる
⇨キャッシュ戦略大事
© SEN CORPORATION
注意点
キャッシュの扱いを誤ると危険
事故解説→https://tech.mercari.com/entry/2017/06/22/204500
もうちょっと深掘り!
そもそも
なぜキャッシュが必要になったか?
© SEN CORPORATION
© SEN CORPORATION
上に行くほど速いけど
小容量でも高価
主記憶から上は揮発性
下にいくほど遅いけど
大容量でも安価
不揮発性なので消えない
記憶階層
不揮発性メモリ・・・通電していなくともデータを保持できるメモリ
 揮発性メモリ・・・通電している間だけデータを保持できるメモリ
© SEN CORPORATION
全てのデータが載る容量のメモリを用意する
インフラコストで破産、しかも電源落ちたらデータ飛ぶ
それは困るのでデータストアに安価なHDD/SSDを使う
でもディスク(I/O)アクセスは超遅い
小さく高速なメモリを一時的・部分的にうまく使ってシス
テム全体の応答速度をあげよう
それが「キャッシュ」
つまり、
ではどうするか
© SEN CORPORATION
キャッシュの種類
ブラウザキャッシュ
DNSクエリキャッシュ
KVS(キャッシュ
DBバッファキャッシュ
クエリキャッシュ
Opcache, JIT
Templateエンジン
CDN
ページキャッシュ
L1~3キャッシュビルドキャッシュ
プログラム(スタック
キャッシュ効果を実感してもらうために
いくつかデモします
© SEN CORPORATION
© SEN CORPORATION
デモ1:ページキャッシュ
ブラウザキャッシュ
DNSクエリキャッシュ
KVS(キャッシュ
DBバッファキャッシュ
クエリキャッシュ
Opcache, JIT
Templateエンジン
CDN
ページキャッシュ
L1~3キャッシュビルドキャッシュ
プログラム(スタック
© SEN CORPORATION
以下のコマンドを適当なLinuxサーバで実行
dd if=/dev/zero of=/tmp/test bs=1M count=1024
echo 3 > /proc/sys/vm/drop_caches
time cat /tmp/test > /dev/null
time cat /tmp/test > /dev/null
1回目のcatは disk read /2回目のcatはmemory read
memoryの方が速い
ページキャッシュ効果
© SEN CORPORATION
デモ2:KVS(Memcache)
ブラウザキャッシュ
DNSクエリキャッシュ
KVS(キャッシュ
DBバッファキャッシュ
クエリキャッシュ
Opcache, JIT
Templateエンジン
CDN
ページキャッシュ
L1~3キャッシュビルドキャッシュ
プログラム(スタック
© SEN CORPORATION
デモ3:ブラウザキャッシュ&CDN
ブラウザキャッシュ
DNSクエリキャッシュ
KVS(キャッシュ
DBバッファキャッシュ
クエリキャッシュ
Opcache, JIT
Templateエンジン
CDN
ページキャッシュ
L1~3キャッシュビルドキャッシュ
プログラム(スタック
© SEN CORPORATION
キャッシュ戦略は超重要
システムのパフォーマンス/スケーラビリティ/コスト
(持続性/成長性)を左右するアーキテクチャ設計の最
重要事項
ユーザ側のWeb環境を意識して設計しよう
光回線/移動中キャリア回線等で通信速度が全然違う
NW環境の違いが出ないような工夫が大事
まとめ
ご清聴ありがとうございました
© SEN CORPORATION

More Related Content

Similar to Webシステムにおけるキャッシュの話

SIerとクラウドの付き合い方
SIerとクラウドの付き合い方SIerとクラウドの付き合い方
SIerとクラウドの付き合い方Yusuke Suzuki
 
プライベートクラウド導入成功への3カ条
プライベートクラウド導入成功への3カ条プライベートクラウド導入成功への3カ条
プライベートクラウド導入成功への3カ条Nissho-Blocks
 
くま(Kuma)でメッシュなマイクロサービス
くま(Kuma)でメッシュなマイクロサービスくま(Kuma)でメッシュなマイクロサービス
くま(Kuma)でメッシュなマイクロサービスssuser6b3f181
 
富士ゼロックスのクラウド活用で起こした変革
富士ゼロックスのクラウド活用で起こした変革富士ゼロックスのクラウド活用で起こした変革
富士ゼロックスのクラウド活用で起こした変革Yuta Watanabe
 
『ハイブリッドクラウド研究会』創立について
『ハイブリッドクラウド研究会』創立について『ハイブリッドクラウド研究会』創立について
『ハイブリッドクラウド研究会』創立についてMasahiko Ebisuda
 
「品質ダッシュボード」と「データによる意思決定」
「品質ダッシュボード」と「データによる意思決定」「品質ダッシュボード」と「データによる意思決定」
「品質ダッシュボード」と「データによる意思決定」Kohei Tomita
 
佐賀大学 - データ分析と向き合う
佐賀大学 - データ分析と向き合う佐賀大学 - データ分析と向き合う
佐賀大学 - データ分析と向き合うDaiyu Hatakeyama
 
Microsoft MVP が語る Azure 移行の勘所
Microsoft MVP が語る Azure 移行の勘所Microsoft MVP が語る Azure 移行の勘所
Microsoft MVP が語る Azure 移行の勘所Tetsuya Odashima
 
経営情報フォーラム2009
経営情報フォーラム2009経営情報フォーラム2009
経営情報フォーラム2009guest5ad17cf
 
経営情報フォーラム2009発表資料
経営情報フォーラム2009発表資料経営情報フォーラム2009発表資料
経営情報フォーラム2009発表資料Keiichi Hashimoto
 
SIOS iQ:機械学習 I T O A VMware仮想環境の性能問題の原因分析 迅速な問題解決と未然防止を実現
SIOS iQ:機械学習 I T O A VMware仮想環境の性能問題の原因分析 迅速な問題解決と未然防止を実現SIOS iQ:機械学習 I T O A VMware仮想環境の性能問題の原因分析 迅速な問題解決と未然防止を実現
SIOS iQ:機械学習 I T O A VMware仮想環境の性能問題の原因分析 迅速な問題解決と未然防止を実現softlayerjp
 
Cloudianを利用したソリューション (Cloudian Summit 2012)
Cloudianを利用したソリューション (Cloudian Summit 2012)Cloudianを利用したソリューション (Cloudian Summit 2012)
Cloudianを利用したソリューション (Cloudian Summit 2012)CLOUDIAN KK
 
Cloudianを利用したソリューション (Cloudian Summit 2012)
Cloudianを利用したソリューション (Cloudian Summit 2012)Cloudianを利用したソリューション (Cloudian Summit 2012)
Cloudianを利用したソリューション (Cloudian Summit 2012)CLOUDIAN KK
 
Azure PaaSを活用したモダン E コマースソリューションの構築方法
Azure PaaSを活用したモダン E コマースソリューションの構築方法Azure PaaSを活用したモダン E コマースソリューションの構築方法
Azure PaaSを活用したモダン E コマースソリューションの構築方法Yoichi Kawasaki
 
Cloud impact on IT industry (in Japanese)
Cloud impact on IT industry (in Japanese)Cloud impact on IT industry (in Japanese)
Cloud impact on IT industry (in Japanese)shojiro-tanaka
 
NoOpsへ舵を切れ
NoOpsへ舵を切れNoOpsへ舵を切れ
NoOpsへ舵を切れHiromasa Oka
 
名古屋こわい 企業の枠にとらわれない人材育成
名古屋こわい 企業の枠にとらわれない人材育成名古屋こわい 企業の枠にとらわれない人材育成
名古屋こわい 企業の枠にとらわれない人材育成Kiyoshi Ogawa
 
クラウド開発手法(舩山ストーリー,石川追記)
クラウド開発手法(舩山ストーリー,石川追記)クラウド開発手法(舩山ストーリー,石川追記)
クラウド開発手法(舩山ストーリー,石川追記)Yuuki Ishikawa
 
わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料Shinichiro Isago
 

Similar to Webシステムにおけるキャッシュの話 (20)

SIerとクラウドの付き合い方
SIerとクラウドの付き合い方SIerとクラウドの付き合い方
SIerとクラウドの付き合い方
 
プライベートクラウド導入成功への3カ条
プライベートクラウド導入成功への3カ条プライベートクラウド導入成功への3カ条
プライベートクラウド導入成功への3カ条
 
くま(Kuma)でメッシュなマイクロサービス
くま(Kuma)でメッシュなマイクロサービスくま(Kuma)でメッシュなマイクロサービス
くま(Kuma)でメッシュなマイクロサービス
 
富士ゼロックスのクラウド活用で起こした変革
富士ゼロックスのクラウド活用で起こした変革富士ゼロックスのクラウド活用で起こした変革
富士ゼロックスのクラウド活用で起こした変革
 
『ハイブリッドクラウド研究会』創立について
『ハイブリッドクラウド研究会』創立について『ハイブリッドクラウド研究会』創立について
『ハイブリッドクラウド研究会』創立について
 
「品質ダッシュボード」と「データによる意思決定」
「品質ダッシュボード」と「データによる意思決定」「品質ダッシュボード」と「データによる意思決定」
「品質ダッシュボード」と「データによる意思決定」
 
佐賀大学 - データ分析と向き合う
佐賀大学 - データ分析と向き合う佐賀大学 - データ分析と向き合う
佐賀大学 - データ分析と向き合う
 
大企業の経営改革とベンチャーの活性化で日本を再び元気に
大企業の経営改革とベンチャーの活性化で日本を再び元気に大企業の経営改革とベンチャーの活性化で日本を再び元気に
大企業の経営改革とベンチャーの活性化で日本を再び元気に
 
Microsoft MVP が語る Azure 移行の勘所
Microsoft MVP が語る Azure 移行の勘所Microsoft MVP が語る Azure 移行の勘所
Microsoft MVP が語る Azure 移行の勘所
 
経営情報フォーラム2009
経営情報フォーラム2009経営情報フォーラム2009
経営情報フォーラム2009
 
経営情報フォーラム2009発表資料
経営情報フォーラム2009発表資料経営情報フォーラム2009発表資料
経営情報フォーラム2009発表資料
 
SIOS iQ:機械学習 I T O A VMware仮想環境の性能問題の原因分析 迅速な問題解決と未然防止を実現
SIOS iQ:機械学習 I T O A VMware仮想環境の性能問題の原因分析 迅速な問題解決と未然防止を実現SIOS iQ:機械学習 I T O A VMware仮想環境の性能問題の原因分析 迅速な問題解決と未然防止を実現
SIOS iQ:機械学習 I T O A VMware仮想環境の性能問題の原因分析 迅速な問題解決と未然防止を実現
 
Cloudianを利用したソリューション (Cloudian Summit 2012)
Cloudianを利用したソリューション (Cloudian Summit 2012)Cloudianを利用したソリューション (Cloudian Summit 2012)
Cloudianを利用したソリューション (Cloudian Summit 2012)
 
Cloudianを利用したソリューション (Cloudian Summit 2012)
Cloudianを利用したソリューション (Cloudian Summit 2012)Cloudianを利用したソリューション (Cloudian Summit 2012)
Cloudianを利用したソリューション (Cloudian Summit 2012)
 
Azure PaaSを活用したモダン E コマースソリューションの構築方法
Azure PaaSを活用したモダン E コマースソリューションの構築方法Azure PaaSを活用したモダン E コマースソリューションの構築方法
Azure PaaSを活用したモダン E コマースソリューションの構築方法
 
Cloud impact on IT industry (in Japanese)
Cloud impact on IT industry (in Japanese)Cloud impact on IT industry (in Japanese)
Cloud impact on IT industry (in Japanese)
 
NoOpsへ舵を切れ
NoOpsへ舵を切れNoOpsへ舵を切れ
NoOpsへ舵を切れ
 
名古屋こわい 企業の枠にとらわれない人材育成
名古屋こわい 企業の枠にとらわれない人材育成名古屋こわい 企業の枠にとらわれない人材育成
名古屋こわい 企業の枠にとらわれない人材育成
 
クラウド開発手法(舩山ストーリー,石川追記)
クラウド開発手法(舩山ストーリー,石川追記)クラウド開発手法(舩山ストーリー,石川追記)
クラウド開発手法(舩山ストーリー,石川追記)
 
わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料
 

More from Shinji Miyazato

TUIゲームを作った話
TUIゲームを作った話TUIゲームを作った話
TUIゲームを作った話Shinji Miyazato
 
はいチーズ!の改善事例
はいチーズ!の改善事例はいチーズ!の改善事例
はいチーズ!の改善事例Shinji Miyazato
 
AWS re:Invent 2018 行ってきました報告 / JAWS-UG Okinawa 20190119
AWS re:Invent 2018 行ってきました報告 / JAWS-UG Okinawa 20190119AWS re:Invent 2018 行ってきました報告 / JAWS-UG Okinawa 20190119
AWS re:Invent 2018 行ってきました報告 / JAWS-UG Okinawa 20190119Shinji Miyazato
 
Cognitoハンズオン
CognitoハンズオンCognitoハンズオン
CognitoハンズオンShinji Miyazato
 
[TechPlayConf]Rekognition導入事例
[TechPlayConf]Rekognition導入事例[TechPlayConf]Rekognition導入事例
[TechPlayConf]Rekognition導入事例Shinji Miyazato
 

More from Shinji Miyazato (11)

課題に向き合え
課題に向き合え課題に向き合え
課題に向き合え
 
TUIゲームを作った話
TUIゲームを作った話TUIゲームを作った話
TUIゲームを作った話
 
ラズパイギター
ラズパイギターラズパイギター
ラズパイギター
 
はいチーズ!の改善事例
はいチーズ!の改善事例はいチーズ!の改善事例
はいチーズ!の改善事例
 
ラズタンク
ラズタンクラズタンク
ラズタンク
 
AWS re:Invent 2018 行ってきました報告 / JAWS-UG Okinawa 20190119
AWS re:Invent 2018 行ってきました報告 / JAWS-UG Okinawa 20190119AWS re:Invent 2018 行ってきました報告 / JAWS-UG Okinawa 20190119
AWS re:Invent 2018 行ってきました報告 / JAWS-UG Okinawa 20190119
 
Docker and Fargate
Docker and FargateDocker and Fargate
Docker and Fargate
 
Cognitoハンズオン
CognitoハンズオンCognitoハンズオン
Cognitoハンズオン
 
[TechPlayConf]Rekognition導入事例
[TechPlayConf]Rekognition導入事例[TechPlayConf]Rekognition導入事例
[TechPlayConf]Rekognition導入事例
 
Lambda勉強会
Lambda勉強会Lambda勉強会
Lambda勉強会
 
Cache勉強会
Cache勉強会Cache勉強会
Cache勉強会
 

Webシステムにおけるキャッシュの話