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.9k
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
10k
Other Decks in Technology
See All in Technology
SwiftUIのGeometryReaderとScrollViewを基礎から応用まで学び直す:設計と活用事例
fumiyasac0921
0
140
Function calling機能をPLaMo2に実装するには / PFN LLMセミナー
pfn
PRO
0
920
Azure SynapseからAzure Databricksへ 移行してわかった新時代のコスト問題!?
databricksjapan
0
140
業務自動化プラットフォーム Google Agentspace に入門してみる #devio2025
maroon1st
0
190
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
11
77k
いまさら聞けない ABテスト入門
skmr2348
1
200
SoccerNet GSRの紹介と技術応用:選手視点映像を提供するサッカー作戦盤ツール
mixi_engineers
PRO
1
170
リーダーになったら未来を語れるようになろう/Speak the Future
sanogemaru
0
280
ACA でMAGI システムを社内で展開しようとした話
mappie_kochi
1
250
20250929_QaaS_vol20
mura_shin
0
110
Flaky Testへの現実解をGoのプロポーザルから考える | Go Conference 2025
upamune
1
420
後進育成のしくじり〜任せるスキルとリーダーシップの両立〜
matsu0228
6
2.3k
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
2.6k
How STYLIGHT went responsive
nonsquared
100
5.8k
Navigating Team Friction
lara
189
15k
Raft: Consensus for Rubyists
vanstee
139
7.1k
It's Worth the Effort
3n
187
28k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Done Done
chrislema
185
16k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
The Invisible Side of Design
smashingmag
301
51k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
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 ϓϩηεۭؒ σΟεΫΩϟογϡ ཧσόΠε ΩϟογϡΛܦ༝ͤͣ σόΠεʹಡΈॻ͖͢Δ
࣭ίʔφʔ