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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Yuuki Tsubouchi (yuuk1)
July 02, 2016
Technology
20k
46
Share
はてなにおけるLinuxネットワークスタックパフォーマンス改善 / Linux network performance improvement at hatena
はてな・ペパボ技術大会〜インフラ技術基盤〜@京都
Yuuki Tsubouchi (yuuk1)
July 02, 2016
More Decks by Yuuki Tsubouchi (yuuk1)
See All by Yuuki Tsubouchi (yuuk1)
AIスーパーコンピュータにおけるLLM学習処理性能の計測と可観測性 / AI Supercomputer LLM Benchmarking and Observability
yuukit
1
850
SREはサイバネティクスの夢をみるか? / Do SREs Dream of Cybernetics?
yuukit
3
490
SREのためのテレメトリー技術の探究 / Telemetry for SRE
yuukit
13
3.6k
AIスパコン「さくらONE」の オブザーバビリティ / Observability for AI Supercomputer SAKURAONE
yuukit
2
1.4k
AIスパコン「さくらONE」のLLM学習ベンチマークによる性能評価 / SAKURAONE LLM Training Benchmarking
yuukit
2
1.1k
とあるSREの博士「過程」 / A Certain SRE’s Ph.D. Journey
yuukit
11
6.9k
eBPFを用いたAIネットワーク監視システム論文の実装 / eBPF Japan Meetup #4
yuukit
3
1.7k
クラウドのテレメトリーシステム研究動向2025年
yuukit
4
1.2k
博士論文公聴会: Scaling Telemetry Workloads in Cloud Applications: Techniques for Instrumentation, Storage, and Mining / PhD Defence
yuukit
1
700
Other Decks in Technology
See All in Technology
Anthropic「Long-running a gents」をGeminiで再現してみた
tkikuchi
0
770
古今東西SRE
okaru
1
110
音声言語モデル手法に関する発表の紹介
kzinmr
0
160
カオナビに Suspenseを導入するまで / The Road to Suspense at kaonavi
kaonavi
1
160
Cortex Codeのコスト見積ヒントご紹介
yokatsuki
0
140
バイブコーディングで3倍早く⚪⚪を作ってみた
samakada
0
210
GKE Agent SandboxでAIが生成したコードを 安全に実行してみた
lamaglama39
0
180
Shipping AI Agents — Lessons from Production
vvatanabe
0
310
AI時代の品質はテストプロセスの作り直し #scrumniigata
kyonmm
PRO
4
1.1k
変化の激しい時代をゴキゲンに生き抜くために 〜ストレスマネジメントのススメ〜
kakehashi
PRO
4
770
20260423_ハドソンのエロゲを追え_レトロゲーム
poropinai1966
0
110
知ってた?JavaScriptの"正しさ"を検証するテストが5万以上もあること(Test262)
riyaamemiya
1
130
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1370
200k
Code Review Best Practice
trishagee
74
20k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
680
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
290
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
410
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
210
Producing Creativity
orderedlist
PRO
348
40k
Speed Design
sergeychernyshev
33
1.6k
ラッコキーワード サービス紹介資料
rakko
1
3.2M
Un-Boring Meetings
codingconduct
0
280
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.4k
Embracing the Ebb and Flow
colly
88
5k
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