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.8k
サーバレスアーキテクチャのパフォーマンスチューニング
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
2k
DynamoDB のインデックス再編事例
kazutomo
2
890
Production-ready Amazon Event Bridge
kazutomo
2
1.1k
もうそこまで迫っている! Cloud2.0 時代の開発
kazutomo
3
1.8k
Game Server Services ではじめる サーバ開発運用しないゲーム開発
kazutomo
1
7.5k
Cloud2.0時代のゲーム開発を支えるGS2
kazutomo
1
2.1k
Unityネットワーク完全に理解した.pdf
kazutomo
3
3.2k
サーバレスアプリケーションの監視・運用
kazutomo
13
6.6k
ゼロからサーバレスの先頭に追いつこう
kazutomo
25
12k
Other Decks in Technology
See All in Technology
AI駆動で進める依存ライブラリ更新 ─ Vue プロジェクトの品質向上と開発スピード改善の実践録
sayn0
1
330
AIの個性を理解し、指揮する
shoota
1
220
Retrospectiveを振り返ろう
nakasho
0
130
From Natural Language to K8s Operations: The MCP Architecture and Practice of kubectl-ai
appleboy
0
280
RemoteFunctionを使ったコロケーション
mkazutaka
1
130
プレイドのユニークな技術とインターンのリアル
plaidtech
PRO
1
460
20251024_TROCCO/COMETAアップデート紹介といくつかデモもやります!_#p_UG 東京:データ活用が進む組織の作り方
soysoysoyb
0
120
パフォーマンスチューニングのために普段からできること/Performance Tuning: Daily Practices
fujiwara3
2
140
個人でデジタル庁の デザインシステムをVue.jsで 作っている話
nishiharatsubasa
3
5.2k
AIでデータ活用を加速させる取り組み / Leveraging AI to accelerate data utilization
okiyuki99
4
1.2k
ストレージエンジニアの仕事と、近年の計算機について / 第58回 情報科学若手の会
pfn
PRO
3
870
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
0
380
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
Product Roadmaps are Hard
iamctodd
PRO
55
11k
Building Applications with DynamoDB
mza
96
6.7k
A designer walks into a library…
pauljervisheath
209
24k
Producing Creativity
orderedlist
PRO
347
40k
A Tale of Four Properties
chriscoyier
161
23k
How GitHub (no longer) Works
holman
315
140k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Embracing the Ebb and Flow
colly
88
4.9k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
190
55k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
130k
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 ϕʔλςετࢀՃऀืूதʂ