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
140
大規模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
100
コンテナ開発入門 1回目/Introduction to Container Development 1
bath_poo_
0
140
ISUCONってなんだ / What is ISUCON
bath_poo_
0
320
Web技術の基本 8回目 / Introduction to Web technologies 8th class
bath_poo_
0
170
Web技術の基本 7回目 / Introduction to Web technologies 7th class
bath_poo_
0
140
Web技術の基本 6回目 / Introduction to Web technologies 6th class
bath_poo_
1
230
Web技術の基本 5回目 / Introduction to Web technologies 5th class
bath_poo_
0
110
Web技術の基本 4回目 / Introduction to Web technologies 4th class
bath_poo_
0
200
Web技術の基本 3回目 / Introduction to Web technologies 3rd class
bath_poo_
0
230
Other Decks in Technology
See All in Technology
サーバレスアプリ開発者向けアップデートをキャッチアップしてきた #AWSreInvent #regrowth_fuk
drumnistnakano
0
200
社内イベント管理システムを1週間でAKSからACAに移行した話し
shingo_kawahara
0
190
KubeCon NA 2024 Recap / Running WebAssembly (Wasm) Workloads Side-by-Side with Container Workloads
z63d
1
250
新機能VPCリソースエンドポイント機能検証から得られた考察
duelist2020jp
0
230
LINEスキマニにおけるフロントエンド開発
lycorptech_jp
PRO
0
330
バクラクのドキュメント解析技術と実データにおける課題 / layerx-ccc-winter-2024
shimacos
2
1.1k
サービスでLLMを採用したばっかりに振り回され続けたこの一年のあれやこれや
segavvy
2
490
LINEヤフーのフロントエンド組織・体制の紹介【24年12月】
lycorp_recruit_jp
0
530
20241214_WACATE2024冬_テスト設計技法をチョット俯瞰してみよう
kzsuzuki
3
580
統計データで2024年の クラウド・インフラ動向を眺める
ysknsid25
2
850
PHPからGoへのマイグレーション for DMMアフィリエイト
yabakokobayashi
1
170
第3回Snowflake女子会_LT登壇資料(合成データ)_Taro_CCCMK
tarotaro0129
0
200
Featured
See All Featured
Optimizing for Happiness
mojombo
376
70k
Building Applications with DynamoDB
mza
91
6.1k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.4k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Being A Developer After 40
akosma
87
590k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Done Done
chrislema
181
16k
Speed Design
sergeychernyshev
25
670
Typedesign – Prime Four
hannesfritz
40
2.4k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
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. ఔʑʹߴ͍৴པੑ • ΩʔͱͳΔٕज़
• εέʔϥϏϦςΟɾɾޮ্ɾωοτϫʔΫ