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
サーバレスアーキテクチャのパフォーマンスチューニング
Search
Kazutomo Niwa
October 22, 2016
Technology
16
7.5k
サーバレスアーキテクチャのパフォーマンスチューニング
JAWS Festa 東海道 2016 の登壇資料です。
こちらもご参照ください →
https://gs2.io/
Kazutomo Niwa
October 22, 2016
Tweet
Share
More Decks by Kazutomo Niwa
See All by Kazutomo Niwa
Amazon Event Bridge による次世代の Pub/Sub
kazutomo
0
1.9k
DynamoDB のインデックス再編事例
kazutomo
2
760
Production-ready Amazon Event Bridge
kazutomo
2
930
もうそこまで迫っている! Cloud2.0 時代の開発
kazutomo
3
1.7k
Game Server Services ではじめる サーバ開発運用しないゲーム開発
kazutomo
1
7.2k
Cloud2.0時代のゲーム開発を支えるGS2
kazutomo
1
2k
Unityネットワーク完全に理解した.pdf
kazutomo
3
3.1k
サーバレスアプリケーションの監視・運用
kazutomo
13
6.4k
ゼロからサーバレスの先頭に追いつこう
kazutomo
25
12k
Other Decks in Technology
See All in Technology
学術機関におけるID連携とOpenID Connect
fujie
0
280
技術的負債解消の取り組みと専門チームのお話
bengo4com
0
340
OSTという文化を組織に根付かせてみた
sansantech
PRO
2
400
なにもしてないのにNew Relicのデータ転送量が増えていたときに確認したこと
tk3fftk
2
230
事前準備が肝!AI活用のための業務改革
layerx
PRO
1
390
o1のAPIで実験してみたが 制限きつすぎて辛かった話
pharma_x_tech
0
210
Google CloudのLLM活用の選択肢を広げるVertex AIのパートナーモデル
nayuts
0
130
AIで変わるテスト自動化:最新ツールの多様なアプローチ/ 20240910 Takahiro Kaneyama
shift_evolve
0
240
ネットワークだけ隔離されたコンテナ作成デモ / Kichijoji.pm36
tenforward
1
240
OR学会2024秋_短期収益と将来のオフ方策評価性能を考慮したクーポン割当方策混合比の決定
recruitengineers
PRO
4
470
リアルお遍路+SORACOM IoT
ozk009
1
140
eBPFのこれまでとこれから
yutarohayakawa
10
3.2k
Featured
See All Featured
A better future with KSS
kneath
235
17k
GraphQLとの向き合い方2022年版
quramy
43
13k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Teambox: Starting and Learning
jrom
131
8.7k
Gamification - CAS2011
davidbonilla
79
5k
Clear Off the Table
cherdarchuk
91
320k
Fashionably flexible responsive web design (full day workshop)
malarkey
401
65k
Intergalactic Javascript Robots from Outer Space
tanoku
268
26k
Designing Experiences People Love
moore
138
23k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
227
52k
Rails Girls Zürich Keynote
gr2m
93
13k
The Invisible Customer
myddelton
119
13k
Transcript
αʔόϨεΞʔΩςΫνϟͷ ύϑΥʔϚϯενϡʔχϯά +"84 'FTUB ౦ւಓ (BNF4FSWFS4FSWJDFTגࣜձࣾ දऔకࣾ$&0୮Ӌ Ұஐ
ࣗݾհ (BNF4FSWFS4FSWJDFTגࣜձࣾ ݄ۀ දऔకࣾ$&0୮Ӌ ҰஐʢʹΘ ͔ͣͱʣ גࣜձࣾηΨೖࣾ ܞଳి͚ήʔϜɾαʔό։ൃʹैࣄ
ఱಊגࣜձࣾೖࣾ ϙέϞϯɾϚϦΦΧʔτΛ͡Ίͱͨ͠ ήʔϜαʔό։ൃɾӡ༻ʹैࣄ
Game Server Services(GS2) とは εϚϗήʔϜϒϥβήʔϜͷඞཁͱ͢Δػೳͷ͏ͪɺ • ϚονϝΠΩϯά • ϥϯΩϯά •
ϝʔϧϘοΫεʢϓϨθϯτϘοΫεʣ • ελϛφཧ ͱ͍ͬͨɺΑ͋͘ΔػೳΛ .JDSP4FSWJDFTԽ͠ɺ 4FSWFSMFTTͰઃܭɾ࣮͠ɺҰ࣌ؒԁʙͰར༻Ͱ͖Δͱ ͍͏"84ͷΑ͏ͳαʔϏεͰ͢ɻ
ςʔϚ αʔόϨεΞʔΩςΫνϟͰઃܭͨ͠8&#αʔόͰ Ͳ͜·ͰϨΠςϯγΛݮΒ͢͜ͱ͕ग़དྷΔ͔ɻ Λٻ͢Δ͜ͱͰɺͲ͕͜ϘτϧωοΫʹͳΔͷ͔ΛৄΒ͔ ʹ͠·͢ɻ
ཁ݅ • αʔόϨεΞʔΩςΫνϟ • "84Λ͏ • %#ͷΛॻ͖͑ͨΓಡΈࠐΜͩΓ͢Δ • ಠࣗυϝΠϯ •
)5514ʢͳΔ҆͘͘ͳΒΜ͚ʁʣ
ΞʔΩςΫνϟ Amazon CloudFront ACM Amazon API Gateway AWS Lambda Amazon
VPC Amazon RDS Amazon Route 53
ϓϩάϥϜ
ॳճΞΫηε࣌ ճࢼߦɻ্ԼΛΓࣺͯ ճΛ࠾༻ ɻ ฏۉ TFD தԝTFD ճҎ߱ ฏۉ TFD
தԝTFD
ඵͪΐͬͱʜ ճͷΞΫηεطʹىಈ͞ΕͨίϯςφΛ͍·Θ͢ͷ Ͱɺൺֱతૣ͘Ԡͯ͘͠Ε·ͨ͠ɻ ճͷ NT߹ʹΑͬͯ·ͩڐ༰Ͱ͖Δ͔͠Ε ͳ͍͚ΕͲɺॳճͷ TFDྲྀੴʹͪΐͬͱʜɻ
71$Λ૭͔Βࣺ͛ͯΔ 71$ͷ3%4ʹΞΫηε͍ͯ͠Δ͕ɺ71$ͷׂ&/*ͷ࡞ ͱׂ͕ඞཁͱͳΔͷͰɺ͍ɻ
ΞʔΩςΫνϟ Amazon CloudFront ACM Amazon API Gateway AWS Lambda Amazon
RDS Amazon Route 53
ॳճΞΫηε࣌ ฏۉ TFD தԝTFD ʊਓਓਓਓਓਓਓਓਓਓਓਓʊ ʼ ͋Μ·มΘΒΜ͔ͬͨ ʻ ʉ:?:?:?:?:?:?:?:?:?:ʉ ͜ͷ͋ͱग़ͯ͘Δ+BWBͷ7.ىಈͱ
&/*ͷׂ͕ฒྻͰಈ͍ͯΔ͔Β͔
ηΩϡϦςΟతʹʜ -BNCEBͷ*1ΞυϨεݻఆͰ͖ͳ͍ɻ .Z42-ͷύεϫʔυೝূ͚ͩͰͪΐͬͱෆ͔҆ɻ
ΞʔΩςΫνϟ Amazon CloudFront ACM Amazon API Gateway AWS Lambda Amazon
DynamoDB Amazon Route 53
ϓϩάϥϜ
ॳճΞΫηε࣌ ฏۉ TFD தԝ TFD %ZOBNP%# ʹͨ͜͠ͱͰɺ͘ͳͬͯ͠·ͬͨɻ ͜Ε "844%,ͷॳظԽॲཧ͕ॏ͕͔͔ͯ࣌ؒ͘Δ͜ͱ ʹىҼ͍ͯ͠Δɻ
ͳΜʹͯ͠ɺࠓͷΓํͰݫ͕͋͠͞Δɻ
+BWBΛ૭͔Βࣺ͛ͯΔ +BWB7.ͷىಈʹ͕͔͔࣌ؒΔɻͦͷͨΊɺॳճΞΫηε ࣌ʹ͕͔͔࣌ؒͬͯ͠·͏ɻ
ΞʔΩςΫνϟ Amazon CloudFront ACM Amazon API Gateway AWS Lambda Amazon
DynamoDB Amazon Route 53
ϓϩάϥϜ
ॳճΞΫηε࣌ ฏۉ TFD தԝ TFD ճҎ߱ ฏۉ TFD தԝ TFD
ॳճͰඵʹ 1ZUIPOʹͨ͜͠ͱͰىಈͷΦʔόʔϔου͕ܹݮͯ͠ɺॳ ճΞΫηε࣌ͰඵʹͳΓ·ͨ͠ɻ
$MPVE'SPOU "$. Λ૭͔Βࣺ͛ͯΔ 4MBDLͷࣄྫ IUUQXXXTMJEFTIBSFOFU"NB[PO8FC4FSWJDFTTFDVSFEBQJBDDFMFSBUJPO XJUIFOHJOFFSTGSPNBNB[PODMPVEGSPOUBOETMBDL 1 ͷΑ͏ʹɺ୯ҰϦʔδϣ ϯͰϫʔϧυϫΠυʹαʔϏεΛల։͍ͯ͠Δ߹ɺւΛ ͑ΔΑ͏ͳέʔεͰɺ$MPVE'SPOUˠΦϦδϯ
&$ Ͱ"84 ͷଠ͍όοΫϘʔϯʹΑΔߴ௨৴ʹΑΓϨΠςϯγ͕վળ ͢Δ͜ͱ͕͋Γ·͢ɻ ࠓճͷϢʔεέʔεͰΩϟογϡώοτظ͠·ͤΜ͠ɺ ϗοϓ͕૿͑Δ͜ͱʹΑΔϨΠςϯγ૿ͷѱӨڹ͕େ͖͍ ͷͰɺ$MPVE'SPOU Λύʔδ͠·͢ɻ
ΧελϜυϝΠϯΛઃఆ ͨͩ $MPVE'SPOU Λ֎͚ͩͩ͢ͱɺυϝΠϯ͕ "1*(BUFXBZؙग़͠Ͱ͔ͬ͜ѱ͍ͷͰɺ-FUT`T &ODSZQUͰ औͬͨαʔόূ໌ॻΛͬͯΧελϜυϝΠϯΛઃఆ͠·͢ɻ
ΞʔΩςΫνϟ Amazon API Gateway AWS Lambda Amazon DynamoDB Amazon Route
53
ॳճΞΫηε࣌ ฏۉ TFD தԝ TFD ճҎ߱ ฏۉ TFD தԝ TFD
ʙNTॖ $MPVE'SPOU Λ֎ͨ͜͠ͱͰɺʙNT͘ͳΓ·͠ ͨɻ "1*(BUFXBZ࣮ଶ $MPVE'SPOUɻ ˠ$%/͕ஈߏʹɻ ˠΤοδϩʔέʔγϣϯఆ͕೦ʹͳͬͯΔ͔ɻ
"844%,ͷॳظԽΛ GVODUJPOͷ֎ʹ "84 4%,ͷॳظԽΘΓͱ͕͔͔࣌ؒΔͷͰɺΞΫηε͢ Δʹ࣮ߦ͢ΔͷͰͳ͘ɺىಈ࣌ʹճ͚ͩ͢ΔΑ͏ʹ͢ Δɻ ͜ΕͰɺճҎ߱ͷԠ্͕͢Δɻ
ϓϩάϥϜ
ॳճΞΫηε࣌ ฏۉ TFD தԝ TFD ճҎ߱ ฏۉ TFD தԝ TFD
ʙNTॖ "84 4%,ͷॳظԽΛϑΝϯΫγϣϯͷ࣮ߦຖʹߦΘͣɺॳ ճʹͷΈߦ͏Α͏ʹͨ͜͠ͱͰɺίϯςφͷ͍ճ͚ͩ͠Ͱ ͳ͘ɺΫϥΠΞϯτΠϯελϯεͷ͍ճ͠ͷޮՌͰճ Ҏ߱ͷॲཧ͕࣌ؒૣ͘ͳΓ·ͨ͠ɻ ॳճ·Ͱ͘ͳͬͯΔͷϛεςϦʔͰ͢ɻ GVODUJPOݺͼग़͠·ͰϝϞϦׂΓͯྔʹΑΒͣϑϧύϫ ʔͰىಈͯ͘͠ΕͯΔʁ ʢࠓճ+BWB.#1ZUIPO.#ͱ͍͏࠷খαΠζͰܭଌ͍ͯ͠·͢ʣ
༨ஊ AWS Lambda Amazon DynamoDB AWS SDK
༨ஊ ϓϩάϥϜ
ॳճΞΫηε࣌ ฏۉ TFD தԝ TFD ճҎ߱ ฏۉ TFD தԝ TFD
NTΛΔ݁Ռʹʢ͕ͩɺ8&#αʔόͰͳ͍ "1*(BUFXBZ࣮ଶ $MPVE'SPOU ͳͷͰ ʢIUUQXXXTMJEFTIBSFOFULFJTVLFBXTMBNCEBBNB[POBQJHBUFXBZEFFQEJWF 1ʣ ɺ "1*(BUFXBZ $MPVE'SPOU ͱಉ༷ͷΛ๊͍͑ͯΔɻ
݁Ռɺ"1*(BUFXBZΛඈ͢͜ͱͰɺ͞Βʹʙ NTͷॖ͕Ͱ͖ͨɻ
·ͱΊ 100ms ~ 200ms 3000ms ~ 4000ms 3000ms ~ 4000ms
100ms 〜 300ms(割当メモリに左右) 100ms ~ 200ms Amazon CloudFront Amazon API Gateway Elastic Network Interface "844%, ॳظԽ
·ͱΊ +BWB ىಈ͕͍ɻ ˠىಈͨ͋͠ͱരͩΑʂ͑ͳ͍ࢠͩͱצҧ͍͠ͳ͍Ͱʂ $MPVE'SPOU ΛڬΉͱ͘ͳͬͨɻ ˠ"84͞Μɻ"1*(BUFXBZͰ"$.͑ΔΑ͏ʹ͍ͯͩ͘͠͞ɻ $MPVE'SPOU Λൈ͍ͯߴԽͯ͠ "1*(BUFXBZ͕ʜɻ
ˠ"84͞ΜɻͳΜͱ͔ߴԽ͍ͯͩ͘͠͞ɻ "844%,ͷ"1*ΫϥΠΞϯτΠϯελϯεੜҙ֎ͱ͍ɻ
એ (4 Ͱ͜ͷΑ͏ͳɺαʔόϨεΞʔΩςΫνϟಛ༗ͷಛੑ ΛѲ্ͨ͠ͰύϑΥʔϚϯενϡʔχϯάΛ֤ॴͰߦͬͯ ͍·͢ɻ (4 Λར༻͢Δ͜ͱͰɺࣗ͝Ͱ͜ͷΑ͏ͳνϡʔχϯάΛ ߦΘͳͯ͘࠷దԽ͞ΕͨαʔϏεΛ͝ར༻͍͚ͨͩ·͢ɻ ੋඇɺ(4ͷ࠾༻͝ݕ౼͍ͩ͘͞ɻ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ IUUQTHTJP ϕʔλςετࢀՃऀืूதʂ