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
20k
はてなにおける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)
AIスパコン「さくらONE」のLLM学習ベンチマークによる性能評価 / SAKURAONE LLM Training Benchmarking
yuukit
2
730
とあるSREの博士「過程」 / A Certain SRE’s Ph.D. Journey
yuukit
11
4.5k
eBPFを用いたAIネットワーク監視システム論文の実装 / eBPF Japan Meetup #4
yuukit
3
1.1k
クラウドのテレメトリーシステム研究動向2025年
yuukit
4
1.1k
博士論文公聴会: Scaling Telemetry Workloads in Cloud Applications: Techniques for Instrumentation, Storage, and Mining / PhD Defence
yuukit
1
260
博士学位論文予備審査 / Scaling Telemetry Workloads in Cloud Applications: Techniques for Instrumentation, Storage, and Mining
yuukit
1
2.2k
MetricSifter:クラウドアプリケーションにおける故障箇所特定の効率化のための多変量時系列データの特徴量削減 / FIT 2024
yuukit
2
310
工学としてのSRE再訪 / Revisiting SRE as Engineering
yuukit
19
15k
Cloudless Computingの論文紹介
yuukit
2
600
Other Decks in Technology
See All in Technology
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
12
81k
クラウドとリアルの融合により、製造業はどう変わるのか?〜クラスメソッドの製造業への取組と共に〜
hamadakoji
0
360
Building a cloud native business on open source
lizrice
0
170
混合雲環境整合異質工作流程工具運行關鍵業務 Job 的經驗分享
yaosiang
0
140
個人でデジタル庁の デザインシステムをVue.jsで 作っている話
nishiharatsubasa
2
3.9k
RDS の負荷が高い場合に AWS で取りうる具体策 N 連発/a-series-of-specific-countermeasures-available-on-aws-when-rds-is-under-high-load
emiki
7
4.5k
旅で応援する✈️ NEWTが目指すコミュニティ支援とあたらしい旅行 / New Travel: Supporting by NEWT on Your Journey
mii3king
0
140
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
43k
webpack依存からの脱却!快適フロントエンド開発をViteで実現する #vuefes
bengo4com
2
2.5k
NLPコロキウム20251022_超効率化への挑戦: LLM 1bit量子化のロードマップ
yumaichikawa
1
190
あなたの知らない Linuxカーネル脆弱性の世界
recruitengineers
PRO
3
150
SCONE - 動画配信の帯域を最適化する新プロトコル
kazuho
1
320
Featured
See All Featured
Faster Mobile Websites
deanohume
310
31k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
610
Music & Morning Musume
bryan
46
6.9k
RailsConf 2023
tenderlove
30
1.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
A designer walks into a library…
pauljervisheath
209
24k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Designing for humans not robots
tammielis
254
26k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Product Roadmaps are Hard
iamctodd
PRO
55
11k
GitHub's CSS Performance
jonrohan
1032
470k
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