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
900
【続編】その 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
0
6k
組織的なインシデント対応を目指して〜成熟度評価と改善のステップ〜 / Towards an Organized Incident Response - Maturity Assessment and Improvement Steps -
nari_ex
7
7.3k
Waroomの開発モチベーションと今後のロードマップ / Waroom development motivation and roadmap
nari_ex
1
1.3k
Engineering with Business Impact
nari_ex
2
280
How We Foster Reliability in Diversity
nari_ex
14
13k
SRE Practices in Organizations
nari_ex
16
9k
Hardening におけるトラブルシューティング / Troubleshooting in Hardening
nari_ex
1
310
私が Engineering Manager になるまでに経験してきたこと、大切にしてきたこと / Lecture materials for Introduction to Venture Business at UEC
nari_ex
0
210
運用技術者組織の設計と運用 / Design and operation of operational engineer organization
nari_ex
11
9.4k
Other Decks in Technology
See All in Technology
脳波を用いた嗜好マッチングシステム
hokkey621
0
280
Goで作って学ぶWebSocket
ryuichi1208
3
2.5k
速くて安いWebサイトを作る
nishiharatsubasa
15
15k
Windows の新しい管理者保護モード
murachiakira
0
200
大規模アジャイルフレームワークから学ぶエンジニアマネジメントの本質
staka121
PRO
3
430
EDRの検知の仕組みと検知回避について
chayakonanaika
11
4.4k
OPENLOGI Company Profile for engineer
hr01
1
20k
Apache Iceberg Case Study in LY Corporation
lycorptech_jp
PRO
0
270
1行のコードから社会課題の解決へ: EMの探究、事業・技術・組織を紡ぐ実践知 / EM Conf 2025
9ma3r
8
2.8k
日経のデータベース事業とElasticsearch
hinatades
PRO
0
200
LINEギフトにおけるバックエンド開発
lycorptech_jp
PRO
0
210
Reading Code Is Harder Than Writing It
trishagee
2
120
Featured
See All Featured
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
It's Worth the Effort
3n
184
28k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
Writing Fast Ruby
sferik
628
61k
Producing Creativity
orderedlist
PRO
344
40k
A Philosophy of Restraint
colly
203
16k
Docker and Python
trallard
44
3.3k
Side Projects
sachag
452
42k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
640
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 ϓϩηεۭؒ σΟεΫΩϟογϡ ཧσόΠε ΩϟογϡΛܦ༝ͤͣ σόΠεʹಡΈॻ͖͢Δ
࣭ίʔφʔ