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
360
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
NLPコロキウム20251022_超効率化への挑戦: LLM 1bit量子化のロードマップ
yumaichikawa
3
470
webpack依存からの脱却!快適フロントエンド開発をViteで実現する #vuefes
bengo4com
4
3.4k
アウトプットから始めるOSSコントリビューション 〜eslint-plugin-vueの場合〜 #vuefes
bengo4com
3
1.8k
AI AgentをLangflowでサクッと作って、1日働かせてみた!
yano13
1
160
[VPoE Global Summit] サービスレベル目標による信頼性への投資最適化
satos
0
250
Okta Identity Governanceで実現する最小権限の原則 / Implementing the Principle of Least Privilege with Okta Identity Governance
tatsumin39
0
170
スタートアップの現場で実践しているテストマネジメント #jasst_kyushu
makky_tyuyan
0
130
Observability — Extending Into Incident Response
nari_ex
1
360
クラウドとリアルの融合により、製造業はどう変わるのか?〜クラスメソッドの製造業への取組と共に〜
hamadakoji
0
430
様々なファイルシステム
sat
PRO
0
240
ソースを読む時の思考プロセスの例-MkDocs
sat
PRO
1
180
Azure Well-Architected Framework入門
tomokusaba
1
130
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1371
200k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Visualization
eitanlees
149
16k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.7k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Leading Effective Engineering Teams in the AI Era
addyosmani
7
630
The Power of CSS Pseudo Elements
geoffreycrofte
80
6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Become a Pro
speakerdeck
PRO
29
5.6k
KATA
mclloyd
PRO
32
15k
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. ఔʑʹߴ͍৴པੑ • ΩʔͱͳΔٕज़
• εέʔϥϏϦςΟɾɾޮ্ɾωοτϫʔΫ