Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
【続編】その ionice、ほんとに効いてますか?
Search
Narimichi Takamura
September 12, 2014
Technology
1
940
【続編】その ionice、ほんとに効いてますか?
2014/09/12 社内勉強会の資料です。前回の資料の続編です。
Narimichi Takamura
September 12, 2014
Tweet
Share
More Decks by Narimichi Takamura
See All by Narimichi Takamura
インシデントキーメトリクスによるインシデント対応の改善 / Improving Incident Response using Incident Key Metrics
nari_ex
1
11k
組織的なインシデント対応を目指して〜成熟度評価と改善のステップ〜 / Towards an Organized Incident Response - Maturity Assessment and Improvement Steps -
nari_ex
7
8.8k
Waroomの開発モチベーションと今後のロードマップ / Waroom development motivation and roadmap
nari_ex
1
1.6k
Engineering with Business Impact
nari_ex
2
310
How We Foster Reliability in Diversity
nari_ex
14
13k
SRE Practices in Organizations
nari_ex
16
10k
Hardening におけるトラブルシューティング / Troubleshooting in Hardening
nari_ex
1
360
私が Engineering Manager になるまでに経験してきたこと、大切にしてきたこと / Lecture materials for Introduction to Venture Business at UEC
nari_ex
0
250
運用技術者組織の設計と運用 / Design and operation of operational engineer organization
nari_ex
11
9.9k
Other Decks in Technology
See All in Technology
KotlinConf 2025_イベントレポート
sony
1
140
EncryptedSharedPreferences が deprecated になっちゃった!どうしよう! / Oh no! EncryptedSharedPreferences has been deprecated! What should I do?
yanzm
0
470
LLM時代のパフォーマンスチューニング:MongoDB運用で試したコンテキスト活用の工夫
ishikawa_pro
0
160
AIのグローバルトレンド2025 #scrummikawa / global ai trend
kyonmm
PRO
1
300
DDD集約とサービスコンテキスト境界との関係性
pandayumi
3
290
react-callを使ってダイヤログをいろんなとこで再利用しよう!
shinaps
2
260
AIエージェントで90秒の広告動画を制作!台本・音声・映像・編集をつなぐAWS最新アーキテクチャの実践
nasuvitz
3
320
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
490
RSCの時代にReactとフレームワークの境界を探る
uhyo
10
3.5k
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
450
20250913_JAWS_sysad_kobe
takuyay0ne
2
240
Featured
See All Featured
How GitHub (no longer) Works
holman
315
140k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Producing Creativity
orderedlist
PRO
347
40k
Designing for Performance
lara
610
69k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.1k
RailsConf 2023
tenderlove
30
1.2k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
It's Worth the Effort
3n
187
28k
The Language of Interfaces
destraynor
161
25k
Transcript
ʲଓฤʳͦͷ IONICE ɺ ΄Μͱʹޮ͍ͯ·͔͢ʁ גࣜձࣾϋʔτϏʔπ @nari_ex ߴଜಓ
͓͞Β͍ ionice ҎԼͷ ̎݅Λຬͨͨ࣌͠ʹͪΌΜͱ ಈ͘ I/O Scheduler ͕ CFQ ಛఆͷI/Oॲཧ
Ωϟογϡ͞Ε͍ͯͳ͍ϑΝΠϧͷRead ಛघϑϥάͷཱͬͨ Write
ΜɺͳΜͰ(ɾɾ)ʁ
CFQ ͡Όͳ͍ͱޮ͔ͳ͍ཧ༝
VFS Χʔωϧۭؒ γεςϜίʔϧ Ϣʔβۭؒ ཧ σόΠε ϑΝΠϧγεςϜ σΟεΫΩϟογϡ ൚༻ϒϩοΫ ཧ
σόΠε ϓϩηε I/Oεέδϡʔϥ σόΠε υϥΠό σόΠε υϥΠό I/Oεέδϡʔϥ I/O ͷ֓೦ਤ
I/O εέδϡʔϥ֓ཁ I/O
I/O εέδϡʔϥͷ αϒΩϡʔʹ
݁: CFQ Ҏ֎ɺ༏ઌΛߟྀͯ͠ ࣮͞Εͯͳ͍
දతͳI/Oεέδϡʔϥ • NOOP • DEADLINE • CFQʢCompletely Fair Queuingʣ
• ཁٻΛσΟεύονΩϡʔʹಥͬࠐΉ͚ͩ • No Operation NOOP I/O εέδϡʔϥ
NOOP I/O εέδϡʔϥ I/O
શ෦ೖΓͷFIFOΩϡʔ͕͋Δ͚ͩ
• ReadͱWriteͰΩϡʔ͕ผ • Read ༏ઌ • ظݶʢdeadlineʣ͖Ωϡʔ͕ಛ • ظݶ͕Εͨཁٻ࠷༏ઌͰॲཧ͢Δ DEADLINE
I/O εέδϡʔϥ
DEADLINE I/O εέδϡʔϥ I/O
READ ͱ WRITE ͷΩϡʔ͕͋Δ͚ͩ
• ϓϩηε͝ͱʹαϒΩϡʔΛ༻ҙ • ༏ઌΛߟྀͯ͠Ωϡʔ͝ͱͷॲཧ࣌ؒΛܾఆ • ̍ͭͷαϒΩϡʔΛΞΫςΟϒΩϡʔͱͯ͠ɺͦͷ ΩϡʔͷཁٻΛॲཧ࣌ؒͷൣғͰॲཧ͢Δ • ॲཧ͕࣌ؒऴΘΔͱΞΫςΟϒΩϡʔ͕ΓସΘΔ CFQ
I/O εέδϡʔϥ
CFQ I/O εέδϡʔϥ ϓϩηε͝ͱʹΩϡʔ͕͋Δ I/O
…"
CFQ I/O εέδϡʔϥ I/O
…" ΞΫςΟϒʹͳͬͨΩϡʔʹ͋Δ ཁٻ͕ॲཧ͞ΕΔ ༏ઌϓϩηεͷαϒΩϡʔ ΞΫςΟϒʹͳ͔ͳ͔ͳΒͳ͍ && ͳ͙ͬͯ͢ʹελϯόΠʹͳΔ
ಛఆͷI/O͡Όͳ͍ͱޮ͔ͳ͍ཧ༝
σΟεΫΩϟογϡͷޮ͍ͨREAD ϓϩηεۭؒ σΟεΫΩϟογϡ ཧσόΠε σΟεΫΩϟογϡͷ σʔλΛฦ͢
σΟεΫΩϟογϡͷͳ͍READ ϓϩηεۭؒ σΟεΫΩϟογϡ ཧσόΠε
σΟεΫΩϟογϡͷͳ͍READ ϓϩηεۭؒ σΟεΫΩϟογϡ ཧσόΠε σΟεΫΩϟογϡ࡞ σΟεΫΩϟογϡͷ σʔλΛฦ͢
ී௨ͷWRITEʢԆ WRITEʣ ϓϩηεۭؒ σΟεΫΩϟογϡ ཧσόΠε ޙͰॻ͖ࠐΈ σΟεΫΩϟογϡʹ ίϐʔΛͯ͠ऴྃ
ී௨ͷWRITEʢԆ WRITEʣ ϓϩηεۭؒ σΟεΫΩϟογϡ ཧσόΠε ޙͰॻ͖ࠐΈ σΟεΫΩϟογϡʹ ίϐʔΛͯ͠ऴྃ ୭͕Δͷʁ
ఆظతʹLINUX Χʔωϧ͕ॻ͖ࠐΜͰ·͢ɻ ※͔ͩΒ IONICE ͕ޮ͔ͳ͍
ఆظతͳಉظॲཧ
ಛघͳϑϥάͷཱͬͨI/O ϓϩηεۭؒ σΟεΫΩϟογϡ ཧσόΠε ΩϟογϡΛܦ༝ͤͣ σόΠεʹಡΈॻ͖͢Δ
࣭ίʔφʔ