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
はてなにおけるLinuxネットワークスタックパフォーマンス改善 / Linux network...
Search
Yuuki Tsubouchi (yuuk1)
July 02, 2016
Technology
46
19k
はてなにおけるLinuxネットワークスタックパフォーマンス改善 / Linux network performance improvement at hatena
はてな・ペパボ技術大会〜インフラ技術基盤〜@京都
Yuuki Tsubouchi (yuuk1)
July 02, 2016
Tweet
Share
More Decks by Yuuki Tsubouchi (yuuk1)
See All by Yuuki Tsubouchi (yuuk1)
MetricSifter:クラウドアプリケーションにおける故障箇所特定の効率化のための多変量時系列データの特徴量削減 / FIT 2024
yuukit
2
110
工学としてのSRE再訪 / Revisiting SRE as Engineering
yuukit
19
11k
Cloudless Computingの論文紹介
yuukit
2
400
#SRE論文紹介 Detection is Better Than Cure: A Cloud Incidents Perspective V. Ganatra et. al., ESEC/FSE’23
yuukit
3
1.4k
エンジニアのためのSRE論文への招待 / Introduction to SRE Papers for Engineers
yuukit
2
11k
博士課程での研究まとめ 2023年1月版 / Summary of my research in the PhD course
yuukit
1
240
AI時代に向けたクラウドにおける信頼性エンジニアリングの未来構想 / DICOMO2022 6A-1
yuukit
7
2.8k
AIOps研究録―SREのための システム障害の自動原因診断 / SRE NEXT 2022
yuukit
10
12k
Interactive AIOps
yuukit
0
2k
Other Decks in Technology
See All in Technology
Jr. Championsになって、強く連携しながらAWSをもっと使いたい!~AWSに対する期待と行動~
amixedcolor
0
190
LeSSに潜む「隠れWF病」とその処方箋
lycorptech_jp
PRO
2
120
とあるユーザー企業におけるリスクベースで考えるセキュリティ業務のお話し
4su_para
3
320
ネット広告に未来はあるか?「3rd Party Cookie廃止とPrivacy Sandboxの効果検証の裏側」 / third-party-cookie-privacy
cyberagentdevelopers
PRO
1
130
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
290k
最速最小からはじめるデータプロダクト / Data Product MVP
amaotone
5
740
신뢰할 수 있는 AI 검색 엔진을 만들기 위한 Liner의 여정
huffon
0
350
わたしとトラックポイント / TrackPoint tips
masahirokawahara
1
240
AWS CDKでデータリストアの運用、どのように設計する?~Aurora・EFSの実践事例を紹介~/aws-cdk-data-restore-aurora-efs
mhrtech
4
650
CAMERA-Suite: 広告文生成のための評価スイート / ai-camera-suite
cyberagentdevelopers
PRO
3
270
プロダクト成長に対応するプラットフォーム戦略:Authleteによる共通認証基盤の移行事例 / Building an authentication platform using Authlete and AWS
kakehashi
1
150
新R25、乃木坂46 Mobileなどのファンビジネスを支えるマルチテナンシーなプラットフォームの全体像 / cam-multi-cloud
cyberagentdevelopers
PRO
1
130
Featured
See All Featured
Building Adaptive Systems
keathley
38
2.2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
290
A better future with KSS
kneath
238
17k
Facilitating Awesome Meetings
lara
49
6k
Practical Orchestrator
shlominoach
186
10k
Code Reviewing Like a Champion
maltzj
519
39k
Done Done
chrislema
181
16k
The Art of Programming - Codeland 2020
erikaheidi
51
13k
What's in a price? How to price your products and services
michaelherold
243
12k
The Cult of Friendly URLs
andyhume
78
6k
4 Signs Your Business is Dying
shpigford
180
21k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Transcript
ͯͳʹ͓͚Δ -JOVYωοτϫʔΫελοΫ ύϑΥʔϚϯεվળ JEZ@VVLJ ͯͳɾϖύϘٕज़େձ ʙΠϯϑϥٕज़ج൫ʙ!ژ
!Z@VVL JEZ@VVLJ ΣϒΦϖϨʔγϣϯΤϯδχΞ !ͯͳ ೖࣾ
৽ଔͷࣄ Λհ
1 ΣϒγεςϜͷ ύϑΥʔϚϯε
ΣϒγεςϜͷయܕߏ LB Proxy Application Database
ϘτϧωοΫ Ͳ͔͜ʹ͋Δ
LB Proxy Web App Database ϘτϧωοΫʢϩʔϧʣ
LB Proxy Web App Database ϘτϧωοΫʢϦιʔεʣ $16 .FN %JTL /8
$16 .FN %JTL $16 .FN %JTL /8 /8 $16 .FN %JTL /8
ϘτϧωοΫʢϦιʔεৄࡉʣ $16 .FN %JTL /8 )PTU VTFS TZT JPXBJU ʜ
VTFE DBDIFE CVGGFS ʜ XSJUF *014 SFBE *014 SFBE MBUFODZ ʜ UY CQT SY CQT UY QQT ʜ
$16VTSOJDFTZTJPXBJUJSRTPGUTUFBMHVFTUJEMF BMM ιϑτׂΓࠐΈʢύέοτड৴ʣ ෛՙ͕ߴ͍
CPU %irq %softirq
େྔύέοτ ͱͷઓ͍
2 ωοτϫʔΫ ελοΫ
ωοτϫʔΫελοΫ w ωοτϫʔΫ*0Λ࣮ݱ͢ΔͨΊʹඞཁ ͳཁૉ܈ w /*$ɺΧʔωϧͷ/*$υϥΠόɺΧʔ ωϧͷ5$1*1ελοΫɺιέοτͳͲ w ύέοτૹड৴ɺύέοτόοϑΝཧɺ ϓϩτίϧॲཧͳͲΛؚΉ
w ड৴ଆͷෛՙ͕ߴ͍͜ͱ͕ଟ͍
ωοτϫʔΫ*0ߴԽ w (C&ͳͲʹΑΔωοτϫʔΫଳҬ෯্ʹ ΑΓɺҰఆ࣌ؒʹॲཧ͢Δύέοτ͕૿େ w (CQT.QQT #ZUFTQBDLFU w ωοτϫʔΫελοΫॲཧͷ$16ෛՙ͕ߴ͘
ͳΔ w $16ΫϩοΫ্͕ΒͣϚϧνίΞ࣌ʹ ಥೖ w ͞·͟·ͳߴԽख๏͕࣮͞Ε͍ͯΔ
NIC Kernel Process ύέοτड৴ϑϩʔ ؆қ
NIC Kernel Process ύέοτड৴ ύέοτసૹ ϓϩτίϧॲཧ σʔλίϐʔ SFBE SFDW
ύέοτड৴ϑϩʔ ؆қ 5$1*1ͷύέοτϔομղੳɺνΣοΫαϜܭࢉͳͲ ΞϓϦέʔγϣϯϓϩηεγεςϜίʔϧͰͪड͚
NIC Process ύέοτड৴ϑϩʔ ৄղ ύέοτ ड৴ ϓϩτίϧ ॲཧ σʔλड৴ ॲཧ
,FSOFM 3JOH #VGGFS 4PDLFU #VGGFS ΧʔωϧͷॲཧΛղ
NIC Process ύέοτड৴ϑϩʔ ৄղ ύέοτ ड৴ ϓϩτίϧ ॲཧ σʔλड৴ ॲཧ
,FSOFM 3JOH #VGGFS 4PDLFU #VGGFS ϋʔυ ׂΓࠐΈ ιϑτ ׂΓࠐΈ ΓͷॲཧιϑτׂΓࠐΈͰඇಉظॲཧ Ԇॲཧ ϋʔυׂΓࠐΈͰϦϯάόοϑΝʹύέοτΛੵΉ·Ͱ
ͳͥछྨͷׂΓࠐΈʁ w ड৴ύέοτ૿ׂΓࠐΈ૿ίϯςΩ ετεΠον૿ߴ$16ෛՙ w ϋʔυׂΓࠐΈ͚ͩͩͱύέοτड৴ͷͨͼ ʹϓϩτίϧॲཧ·Ͱଈ࣮ߦ͞ΕΔ w ϋʔυׂΓࠐΈͰύέοτΛόοϑΝʹੵ Ή͚ͩʹͯ͠ɺճͷׂΓࠐΈॲཧͷ$16ෛ
ՙΛԼ͛Δ w ιϑτׂΓࠐΈʹΑΓɺϝΠϯͷϓϩτίϧ ॲཧΛඇಉظॲཧ
/"1* /FX"1* w ޙճ͠ʹͯ͠ड৴ύέοτ͕૿͑ΕιϑτׂΓࠐΈ ͷ૿͑Δ w ෳͷύέοτΛ·ͱΊͯͭͷιϑτׂΓࠐΈͰॲཧ ͍ͨ͠ w ϋʔυׂΓࠐΈΛҰ୴ͱΊͯɺϙʔϦϯάʹΑΓϦϯά
όοϑΝ͔Βಉ࣌ʹύέοτΛऔΓग़͢ w ͨͩ͠ύέοτ͕গͳ͍߹ʹಛʹϨΠςϯγ͕େ͖ ͘ͳͬͯ͠·͏ͷͰɺड৴ύέοτ͕ଟ͍ͱ͖ͷΈ༗ޮ
NIC Process /"1* ύέοτ ड৴ ϓϩτίϧ ॲཧ σʔλड৴ ॲཧ ,FSOFM
3JOH #VGGFS 4PDLFU #VGGFS ϋʔυׂΓࠐΈΛͱΊͯɺϙʔϦϯά QPMMJOH
͜͜·Ͱ -JOVYωοτϫʔΫ ελοΫͷجຊతͳ
3 ͯͳͰͷࣄྫ
)"1SPYZͷ૿ w )"1SPYZΛ&$Ͱͷϩʔυόϥϯαͱͯ͠༻ w ιϑτׂΓࠐΈෛՙʹΑΓίΞͰ w $16ίΞ༨͍ͬͯΔͷʹɺ)"1SPYZͷεέʔϧ Ξτ͕ඞཁ w %/4ϥϯυϩϏϯʹΑΓɺෳͷ)"1SPYZ
ࢀরΛৼΓ͚ w ϩʔυόϥϯαΛϩʔυόϥϯε͠ͳ͍ͱ͍͚ͳ ͍ࣄଶ
)"1SPYZ ʜʜ EC ʜʜ BQQ ʜʜ TVHPJIBQSPYZQSJWBUF
ʜʜ EC ʜʜ BQQ ʜʜ )"1SPYZ
ׂΓࠐΈ͕ଟ͍ͳΒ ׂΓࠐΈࣗମΛݮΒ͢
NIC Process *OUFSSVQU$PBMFTDJOH ύέοτ ड৴ ϓϩτίϧ ॲཧ σʔλड৴ ॲཧ ,FSOFM
3JOH #VGGFS 4PDLFU #VGGFS /*$͕ͭͷϋʔυׂΓࠐΈͰෳͷύέοτΛ·ͱΊͯసૹ ϋʔυ ׂΓࠐΈ ෳύέοτἧ͏·Ͱ౸ணΛͭͨΊϨΠςϯγ্͕Δ
/*$υϥΠόͷύϥϝʔλݕূ w ༻/*$*OUFMͷJYHCF*OUFSSVQU5ISPUUMF3BUFΦ ϓγϣϯ w DYMBSHF͔ΒDYMBSHFʹ5$1ଓ w σϑΥϧτͰΣϒαʔϏεͷΑ͏ͳγϣʔτύ έοτ͕ࢧతͳঢ়گͰɺׂΓࠐΈ͕ߴ͘ͳΔ w
ΣϒαʔϏεͰͦ͜·ͰϨΠςϯγʹγϏΞͰ ͳ͍ w ݕূͷ݁ՌɺιϑτׂΓࠐΈͷ$16ར༻ TPGU ͕࠷େ·Ͱվળ l&$Ͱ43*07Λ͏ͱ͖ͷ/*$υϥΠόύϥϝʔλݕূz IUUQCMPHZVVLJPFOUSZ
ׂΓࠐΈॲཧΛෳͷ ίΞʹࢄͤ͞Δ
NIC Process ύέοτ ड৴ ϓϩτίϧ ॲཧ σʔλड৴ ॲཧ ͳͥෳͷίΞΛ͑ͳ͍ͷ͔ $16
ϋʔυׂΓࠐΈ͕͔͔ͬͨ$16ίΞͱಉ͡$16ίΞ͕ ιϑτׂΓࠐΈΛ࣮ߦ͢ΔͨΊ ϋʔυ ׂΓࠐΈ ιϑτ ׂΓࠐΈ
NIC Process ύέοτ ड৴ ϓϩτίϧ ॲཧ σʔλड৴ ॲཧ $16 314
3FDFJWF1BDLFU4UFFSJOH NIC Process ύέοτ ड৴ ϓϩτίϧ ॲཧ σʔλड৴ ॲཧ $16 NIC Process ύέοτ ड৴ ϓϩτίϧ ॲཧ σʔλड৴ ॲཧ $16 ίΞׂؒΓࠐΈ
314 3FDFJWF1BDLFU4UFFSJOH w ௨ৗϋʔυׂΓࠐΈ͕͔ͬͨ$16ͱಉ͡$16Ͱ ιϑτׂΓࠐΈΛ࣮ߦ w 314ɺଞͷ$16ʹίΞׂؒΓࠐΈͯ͠ɺϓϩτ ίϧॲཧΛଞͷ$16ʹͤΔ w 5$1ϔομͷ
TBEES TQPSU EBEES EQPSU ͷʹ ର͠$POTJTUFOU)BTIJOHʹΑΔࢄ w ݪଇಉ͡5$1ϑϩʔͳΒಉ͡$16ʹࢄ͞Ε ΔΑ͏ʹ w $16ΩϟογϡώοτΛߴΊͨ3'4 3FDFJWF 'MPX4UFFSJOH ͱ͍͏ͷ͋Δ l-JOVYͰϩʔυόϥϯαΩϟογϡαʔόΛϚϧνίΞεέʔϧͤ͞ΔͨΊͷΧʔωϧνϡʔχϯάz IUUQ CMPHZVVLJPFOUSZMJOVYOFUXPSLTUBDLUVOJOHSGT
ࣾͷ࠷ۙͷ ωοτϫʔΫαʔόʹ ͘ద༻ࡁ
314Ͱ3FEJTνϡʔχϯά w 3FEJTεϨουಈ࡞͢ΔͨΊɺϚϧν ίΞεέʔϧ͠ͳ͍ w ΧʔωϧͷωοτϫʔΫ*0ॲཧ͢ΔεϨο υͱɺ3FEJTεϨουͷࢄͰ͖Δ w 314ࢄઌ$16൪߸ΛࢦఆͰ͖Δ w
$16 ʹࢄͤ͞Δ w UBTLTFUͰ$16ΞϑΟχςΟΛઃఆ͠ɺ 3FEJTεϨουΛ$16 Ҏ֎ʹݻఆ IUUQSFEJTJPUPQJDTCFODINBSLT
$16ˋݮ
ଞʹଟ͘ͷ ߴԽख๏͕͋Δ νΣοΫαϜΦϑϩʔυ 540 5$14FHNFOUBUJPO0⒐PBE -30 -BSHF3FDFJWF0⒐PBE 50&
5$10⒐PBE&OHJOF 344 3FDFJWF4JEF4DBMJOH "DDFMFSBUFE3'4 914 1$*QBTTUISPVHI 43*07 *OUFM%BUB%JSFDU*0
4 ωοτϫʔΫελο Ϋͷઌٕज़
ͦͦΧʔωϧʹ ॲཧͤ͞ͳ͍ protocol process NIC process hardirq packet receive consistent
hashing forward
Ϣʔβϥϯυθϩίϐʔ w ύέοτΛ/*$͔ΒϢʔβϥϯυόΠύε w ࣮ w OFUNBQ w *OUFM%1%, w
ϢʔβϥϯυͰ5$1*1࣮ w ΔݶΓͰ࣮༻ஈ֊ͷωοτϫʔΫαʔό ·ͩͳ͍
ιέοτ"1*ͷݶք w େͷωοτϫʔΫαʔόͷ࣮104*9ͷι έοτ"1*ϕʔε w ιέοτ"1*ͰθϩίϐʔʹͰ͖ͳ͍ w ΧʔωϧͷιέοτόοϑΝʹੵΉඞཁ͕͋Δ w طଘͷωοτϫʔΫαʔόͷιέοτ"1*Λஔ͖
͑Δͷେม w Χʔωϧ͕ϋʔυͷਐԽʹ͍͔ͭͳ͘ͳΕɺ ීٴ͢Δ͔͠Εͳ͍
5 ·ͱΊ
·ͱΊ w ΣϒγεςϜʹ͓͚ΔωοτϫʔΫ*0ෛՙͷҐஔ͚ͮ w -JOVYͷωοτϫʔΫελοΫͷΈΛհ w ͯͳͰ࣮ફͨ͠ωοτϫʔΫελοΫͷߴԽख๏ w ׂΓࠐΈΛ·ͱΊΔ*OUFSSVQU$PBMFTDJOH w
ϓϩτίϧॲཧΛϚϧνίΞεέʔϧͤ͞ΔͨΊͷ 3143'4 w )"1SPYZɺ3FEJTͷྫ w ઌٕज़ͱͯ͠ɺ/*$͔ΒϢʔβϥϯυόΠύε͢Δ ٕज़͕͋Δ
04 ΞΠσΞͷๅݿ
04෦ͷٕज़ͷ֎ग़͠ w ιϑτׂΓࠐΈʹΑΔԆॲཧ w δϣϒΩϡʔͷΑ͏ͳඇಉظॲཧ w ׂΓࠐΈͱϙʔϦϯά w ϑϩϯτΤϯυʹ͓͚ΔϩϯάϙʔϦϯά 4FSWFS4FOU&WFOUT
w ϓϩηεεέδϡʔϥ w ྲྀߦΓͷ7.ίϯςφͷΦʔέετϨʔγϣ ϯ
04ͷٕज़Λ ࣗͷιϑτΣΞʹ ͱΓ͍Ε͍ͨ
04γεςϜιϑτΣΞ ͕͖ͳਓ IUUQIBUFOBDPSQKQSFDSVJUGSFTIPQFSBUJPOFOHJOFFS