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
大規模Webサービス入門 15回目 / Introduction to large scale...
Search
muttan
August 31, 2017
Technology
0
150
大規模Webサービス入門 15回目 / Introduction to large scale web service 15
muttan
August 31, 2017
Tweet
Share
More Decks by muttan
See All by muttan
さわやか待ち時間LINE botを作った話 / Sawayaka LINE bot
bath_poo_
0
110
コンテナ開発入門 1回目/Introduction to Container Development 1
bath_poo_
0
170
ISUCONってなんだ / What is ISUCON
bath_poo_
0
350
Web技術の基本 8回目 / Introduction to Web technologies 8th class
bath_poo_
0
190
Web技術の基本 7回目 / Introduction to Web technologies 7th class
bath_poo_
0
160
Web技術の基本 6回目 / Introduction to Web technologies 6th class
bath_poo_
1
260
Web技術の基本 5回目 / Introduction to Web technologies 5th class
bath_poo_
0
140
Web技術の基本 4回目 / Introduction to Web technologies 4th class
bath_poo_
0
220
Web技術の基本 3回目 / Introduction to Web technologies 3rd class
bath_poo_
0
250
Other Decks in Technology
See All in Technology
初めてAWSを使うときのセキュリティ覚書〜初心者支部編〜
cmusudakeisuke
1
280
5分でカオスエンジニアリングを分かった気になろう
pandayumi
0
260
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
590
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
2
590
AIエージェント開発用SDKとローカルLLMをLINE Botと組み合わせてみた / LINEを使ったLT大会 #14
you
PRO
0
130
共有と分離 - Compose Multiplatform "本番導入" の設計指針
error96num
2
1.2k
「何となくテストする」を卒業するためにプロダクトが動く仕組みを理解しよう
kawabeaver
0
440
Oracle Cloud Infrastructure IaaS 新機能アップデート 2025/06 - 2025/08
oracle4engineer
PRO
0
110
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.8k
人工衛星のファームウェアをRustで書く理由
koba789
15
8.3k
TS-S205_昨年対比2倍以上の機能追加を実現するデータ基盤プロジェクトでのAI活用について
kaz3284
1
230
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
Featured
See All Featured
Speed Design
sergeychernyshev
32
1.1k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The Cult of Friendly URLs
andyhume
79
6.6k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
3k
Optimizing for Happiness
mojombo
379
70k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Agile that works and the tools we love
rasmusluckow
330
21k
What's in a price? How to price your products and services
michaelherold
246
12k
Thoughts on Productivity
jonyablonski
70
4.8k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Transcript
େنαʔϏεٕज़ೖ ୈ15ճ ISUCONରࡦษڧձ 2017/8/31
ୈ15ճ WebαʔϏεͱωοτϫʔΫ - ωοτϫʔΫͰݟ͑ͯ͘ΔαʔϏεͷ -
1Gbps͑, 500ϗετ͑, ଠฏ༸͑ • 15ճωοτϫʔΫʹؔ͢Δ • ࣍ͷΑ͏ͳ߹, ߏΛߟ͑͞ͳ͍ͱ͍͚ͳ͍ ‣ τϥϑΟοΫ͕1GbpsΛ͑Δ
‣ ಉ͡αϒωοτͰϗετ͕500Λ͍͑ͯΔ ‣ ଠฏ༸͑ͷτϥϑΟοΫ͕ൃੜ͢ΔͱϨΠςϯγ͕…
Lesson 38 ωοτϫʔΫͷذ
αʔϏεͷͱ ωοτϫʔΫͷذ
ωοτϫʔΫͷذ • τϥϑΟοΫྔ͕গͳ͚Ε, ωοτϫʔΫߏ ʹ͍ͭͯਂ͘ߟ͑Δඞཁͳ͍. • αʔϏε͕͢ΔʹͭΕ, ωοτϫʔΫͷ ذΛ͓ͬͯ͘ඞཁ͕͋Δ.
ωοτϫʔΫͷذ • 1Gbpsʢ300kpps͑ʣpps : packet per second → PCϧʔλͷݶք •
500ϗετ͑ ˠ 1αϒωοτͷݶք • άϩʔόϧ͑ ˠ 1σʔληϯλʔͷݶք
1Gbpsͷݶք - PCϧʔλͷݶք -
1Gbpsͷݶք • 1Gbps, ਖ਼͘͠30kbpsͷݶք ‣ ppspacket per secͰ͋Γ, ύέοτॲཧೳྗΛද͢ .
• ฏۉతͳLinuxΧʔωϧͰ, ͓Αͦ300kpps(30ສpps)͕ ݶքͰ͋Δ. ‣ ͜ͷ࣌ͷฏۉύέοτ͕300byteͩͱ, ͓Αͦ1Gbps
1Gbpsͷݶք • ΪΨϏοτΠʔαωοτͰ1Gbps͕ݶքͰ ͋Δ͠, Χʔωϧతʹ30kppsఔ͕ݶքͰ ͋Δ͜ͱ͕͔Δ. ‣ Ͳ͏ͨ͠Β͍͍ͷͩΖ͏͔ʁ
1Gbpsͷݶք • ରࡦͱͯ͠2ͭߟ͑ΒΕΔ. 1. PCϧʔλΛෳฒΔ. → ശϧʔλʹൺΔͱ҆Ձ 2. ശϧʔλ(Ciscoͷͱ͔)Λಋೖ͢Δ. →
ඦສఔ͢Δ
500ϗετͷݶք - 1αϒωοτ, ARPςʔϒϧ·ΘΓͰͷݶք -
500ϗετͷݶք • 500ϗετΛ͑ͯ͘Δͱ, εΠονͷARPςʔϒϧ ·ΘΓͰݶք͕དྷΔ. ‣ ARPIPΞυϨε͔ΒMACΞυϨεΛٻΊΔϓϩ τίϧ. ‣ ARPςʔϒϧ,
IPΞυϨεͱMACΞυϨεͷରԠ ؔදͰ͋Δ.
500ϗετͷݶք • ֤εΠον, ARPςʔϒϧΛ͍࣋ͬͯΔ. • ARPςʔϒϧͷΤϯτϦͷݶք900લޙ ‣ ARPςʔϒϧͷΤϯτϦ͕800ڧ·ͰΒΉͱ, ping͕ ඈͳ͘ͳΔ,
௨৴͕Ͱ͖ͳ͘ͳΔͳͲͷো͕ൃੜ͠ ͨ. → ARPςʔϒϧͷΤϯτϦ͕ଟ͔ͬͨ͜ͱ͕ݪҼ
500ϗετͷݶք • ͜ͷ͜ͱ͔Β, ༨ΓARPςʔϒϧͷΤϯτϦ͕ଟ͍ͱ ಈ࡞͕ෆ҆ఆʹͳΔ. • ͦͷଞʹ, ϗετ͕૿͑Δ͜ͱͰϒϩʔυΩϟετύ έοτ͕ແࢹͰ͖ͳ͍ྔʹ·Ͱ૿Ճ͢ΔͨΊ, ύέοτ
ϩε͕૿Ճ͢Δ. → Ҏ্ͷ͜ͱ͔Β, ϗετ500ఔʹ͓͖ͯ͘͠.
ωοτϫʔΫߏͷ֊Խ
ωοτϫʔΫߏͷ֊Խ • ͜͜·Ͱͷରࡦͱͯ͠, ωοτϫʔΫߏͷ֊Խ͕ϕετϓϥ ΫςΟεͱཱͯ֬͠ • 3ߏͰߏ͢Δ͜ͱ͕ηΦϦʔ • Ұ൪খ͍͞ͷ͕AccessΤϦΞ •
͕࣍DistributionΤϦΞ • Ұ൪্͕CoreΤϦΞ or OSPF(Open Shortest Path First)ΤϦΞ
ωοτϫʔΫߏͷ֊Խ Ҿ༻ɿhttp://www.infraexpert.com/study/catalyst2.html
ωοτϫʔΫߏͷ֊Խ • AccessΤϦΞͰ100, 200Ͱ͑Δ. • DistributionΤϦΞͰ1,000ఔ • CoreΤϦΞͰ10,000୯Ґ͕ѻ͑Δ. → ֊ߏΛઃ͚Δ͜ͱ͕Ұൠత
άϩʔόϧԽ
άϩʔόϧԽ • άϩʔόϧԽͱͳΜͳͷ͔ ‣ τϥϑΟοΫάϩʔόϧԽͷ࣌ ‣ ଠฏ༸Λ͑ΔΞΫηεͳΜ͔Λݴ͏. → ͔ͳΓͷΦʔόʔϔουʹͳΔ.
͓͖ͬͯ͘ϨΠςϯγ
άϩʔόϧԽ • ଠฏ༸Λ͑ΔΑ͏ͳ௨৴Ͱ, ϨΠςϯγ͕େ ෯ʹ૿Ճ͢Δ. ‣ 1ͭͷσʔληϯλʔͰ͠ΜͲ͍. ‣ CDNΛ͏ͱμϯϩʔυ͕࠷దԽ. →
άϩʔόϧͳαʔϏεͰඞਢͰ͋Δ.
CDNͬͯͳΜͩʁ • CDNContent Deliver Networkͷ͜ͱ. ‣ ੈքதʹΩϟογϡαʔόΛஔ͍͓͖ͯ, ͦ͜ʹϝσΟΞΛ Ωϟογϡ͓ͤͯ͘͞. ‣
Ϣʔβʔ͔Βཁٻ͕͋ͬͨ࣌, ͦͷϢʔβʔʹҰ൪͍ۙΩϟο γϡαʔόʹΞΫηεͯ͠ϝσΟΞΛμϯϩʔυ͢Δ͜ͱʹ ͳΔ. ‣ ੈքதʹΩϟογϡαʔό͕͋ΔͷͰ, ϨΠςϯγ͕ݮগ͢Δ.
CDNͬͯͳΜͩʁ • Ϥʔϩούͷαʔό͔Βμϯϩʔυ͠Α͏ͱͨ͠ͱ͖ʹ, • CDNແ͠ ϤʔϩούͷαʔόʹΞΫηε • CDN͋Γ ۙ͘ͷΩϟογϡαʔό͔Βμϯϩʔυ •
ઌ΄ͲͷϨΠςϯγΛݟΔͱ, ͳΔ͔ۙ͘͘ΒDL͍ͨ͠.
Lesson 39 ͞ΒͳΔ্ݶ
10Gbps͑ͷੈք
10Gbps͑ͷੈք • 10GbpsΛ͑Δͱ͕มΘͬͯ͘Δ. • ͦͷੈքઢͰ, BGP(Boarder Gateway Protocol) ͱ͍͏ϓϩτίϧΛ༻͍ͯ͠Δ. •
AS(Autonomous System)൪߸ΛׂΓৼΓ, ͦͷ ൪߸ׂ͕ΓৼΒΕ͍ͯΔऀಉ࢜Ͱ௨৴ͯ͠ܦ࿏ ใΛަ͍ͯ͠Δ.
10Gbps͑ͷੈք • ͜͜ͰޡͬͨઃఆΛ͢Δͱ, Πϯλʔωοτ͕յΕΔ. • ઌ͋ͬͨຊͷ௨৴ো, Google͕ޡͬͨܦ࿏ใΛ ྲྀͯ͠͠·ͬͨ͜ͱʹΑΔͷͩͬͨ. • σʔλྔ͕ଟ͔ͬͨͨΊ,
ϋϯάͯ͠͠·͏ϧʔλ͋ͬͨ ͱ͔ͳΜͱ͔. • http://itpro.nikkeibp.co.jp/atcl/column/ 14/346926/082701101/
ͯͳͷΠϯϑϥ - ୈ11ճʙୈ15ճ·ͱΊ -
ୈ11ճʙୈ15ճͷ·ͱΊ • WebαʔϏεͷΠϯϑϥ, ҎԼͷ2͕ॏཁ 1. ίετɾߴεέʔϥϏϦςΟ 2. ఔʑʹߴ͍৴པੑ • ΩʔͱͳΔٕज़
• εέʔϥϏϦςΟɾɾޮ্ɾωοτϫʔΫ