Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ページキャッシュの概念
Search
Satoru Takeuchi
PRO
November 01, 2020
Technology
0
270
ページキャッシュの概念
以下動画のテキストです
https://youtu.be/x15iXjCeJaY
Satoru Takeuchi
PRO
November 01, 2020
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
eBPF
sat
PRO
1
92
waruiBPF
sat
PRO
0
86
eBPFとwaruiBPF
sat
PRO
4
2.6k
Pythonのコードの気になる行でスタックトレースを出す
sat
PRO
0
87
ソースコードを読むときの思考プロセスの例 ~markdownのレンダリング方法を知りたかった2 markdownパッケージ~
sat
PRO
0
170
様々なファイルシステム
sat
PRO
0
310
ソースを読む時の思考プロセスの例-MkDocs
sat
PRO
1
410
ソースを読むプロセスの例
sat
PRO
22
17k
メモリマップトファイル
sat
PRO
1
160
Other Decks in Technology
See All in Technology
新 Security HubがついにGA!仕組みや料金を深堀り #AWSreInvent #regrowth / AWS Security Hub Advanced GA
masahirokawahara
1
2.1k
打 造 A I 驅 動 的 G i t H u b ⾃ 動 化 ⼯ 作 流 程
appleboy
0
350
LLM-Readyなデータ基盤を高速に構築するためのアジャイルデータモデリングの実例
kashira
0
260
re:Invent2025 3つの Frontier Agents を紹介 / introducing-3-frontier-agents
tomoki10
0
210
re:Invent 2025 ~何をする者であり、どこへいくのか~
tetutetu214
0
220
【AWS re:Invent 2025速報】AIビルダー向けアップデートをまとめて解説!
minorun365
4
530
Sansanが実践する Platform EngineeringとSREの協創
sansantech
PRO
2
890
WordPress は終わったのか ~今のWordPress の制作手法ってなにがあんねん?~ / Is WordPress Over? How We Build with WordPress Today
tbshiki
1
800
「図面」から「法則」へ 〜メタ視点で読み解く現代のソフトウェアアーキテクチャ〜
scova0731
0
290
Oracle Cloud Infrastructure IaaS 新機能アップデート 2025/09 - 2025/11
oracle4engineer
PRO
0
150
CARTAのAI CoE が挑む「事業を進化させる AI エンジニアリング」 / carta ai coe evolution business ai engineering
carta_engineering
0
1.8k
生成AI活用の型ハンズオン〜顧客課題起点で設計する7つのステップ
yushin_n
0
220
Featured
See All Featured
Optimizing for Happiness
mojombo
379
70k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.5k
A better future with KSS
kneath
240
18k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
Mobile First: as difficult as doing things right
swwweet
225
10k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
390
Transcript
ページキャッシュの概念 Oct 31th, 2020 Satoru Takeuchi Twitter: satoru_takeuchi, EnSatoru 1
ページキャッシュ概要 • 課題 ◦ ストレージデバイスへのアクセスはメモリアクセスに比べて非常に遅い ▪ NVMe SSDへのランダムアクセス : 100倍以上遅い
▪ HDDへのランダムアクセス : 一万倍以上遅い ◦ システム全体の性能はストレージアクセスがボトルネックになる • 解決方法 ◦ ページキャッシュ: ストレージ上のデータを一時的にメモリ上に置いておく機能 ◦ ストレージデバイスへの見かけ上のアクセス速度をメモリアクセス速度と同等にする 2
ストレージからの読み出し • 次のような二段階の読み出しをする 1. 一旦ページキャッシュという領域に読み出す 2. プロセスのメモリに読み出す • 以下ファイルAの先頭から4KiB読み出す例 3
メモリ プロセスのメモリ XXXX ページキャッシュ ファイルAの0~4KiB: XXXX ストレージ ファイルA 読み出し 0~4KiB: XXXX 読み出し
二回目以降の読み出し • 既存のページキャッシュ上のデータを読み出す ◦ ストレージへのアクセスは発生しない ◦ 見かけ上の読み出し速度はメモリアクセス速度と同等 4 メモリ プロセスのメモリ
XXXX ページキャッシュ ファイルAの0~4KiB: XXXX ストレージ ファイルA 0~4KiB: XXXX 読み出し
ストレージへの書き込み • ストレージではなくメモリ上のページキャッシュという領域に書く ◦ 書いた後はすぐに復帰 ◦ 見かけ上の書き込み速度はメモリアクセス速度と同等になる • 以下、プロセスのデータをファイルAの先頭から4KiB書き込む例 5
メモリ プロセスのメモリ YYYY ページキャッシュ ファイルAの0~4KiB: YYYY ストレージ ファイルA 書き込み 0~4KiB: XXXX
その後の読み出し • ストレージではなくページキャッシュから読み出す ◦ 見かけ上の読み出し速度はメモリアクセス速度と同等に 6 メモリ プロセスのメモリ YYYY ページキャッシュ
ファイルAの0~4KiB: YYYY ストレージ ファイルA 読み出し ファイルA 0~4KiB: XXXX
ストレージへの反映 • メモリ上のデータはマシンの電源が消えると無くなってしまう • 以下のような契機で書き出し(ライトバック)をする ◦ ページキャッシュの大きさがカーネルが設定する閾値を超えた ◦ 一定時間の経過 7
メモリ プロセスのメモリ ページキャッシュ ファイルAの0~4KiB: XXXX ストレージ ファイルA 書き込み 0~4KiB: XXXX
ページキャッシュが有用なケース • 所定の期間内にアクセスするデータがキャッシュメモリ上におさまる ◦ 見かけ上のストレージアクセス速度はメモリへアクセス速度にできる ◦ システムの搭載メモリ量が増えるとキャッシュメモリに使える領域も増える • おさまらなくなればライトバック処理が頻繁に動くので性能が劣化 •
システム運用におけるヒント ◦ 読み書きするデータ量の増加に伴って性能が急激に劣化した。なぜだろう? ▪ データがページキャッシュに乗り切らなくなったせいかもしれない ◦ システムの性能を劇的に挙げる方法はないだろうか? ▪ データがページキャッシュに乗り切るようメモリ増強すると可能かもしれない
まとめ • メモリアクセス速度に比べてストレージへのアクセス速度は遅い • その速度差を吸収するのがページキャッシュ • データ量をページキャッシュに収められると最大の効果を発揮 • CPUの演算速度とメモリアクセス速度差については以下動画を参照 ◦
その7 キャッシュメモリ ◦ その13 キャッシュメモリの効果 • Latency Numbers Every Programmer Should Know ◦ https://colin-scott.github.io/personal_website/research/interactive_latency.html