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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kazutomo Niwa
October 22, 2016
Technology
7.9k
16
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
サーバレスアーキテクチャのパフォーマンスチューニング
JAWS Festa 東海道 2016 の登壇資料です。
こちらもご参照ください →
https://gs2.io/
Kazutomo Niwa
October 22, 2016
More Decks by Kazutomo Niwa
See All by Kazutomo Niwa
Amazon Event Bridge による次世代の Pub/Sub
kazutomo
0
2k
DynamoDB のインデックス再編事例
kazutomo
2
1k
Production-ready Amazon Event Bridge
kazutomo
2
1.1k
もうそこまで迫っている! Cloud2.0 時代の開発
kazutomo
3
1.9k
Game Server Services ではじめる サーバ開発運用しないゲーム開発
kazutomo
1
7.6k
Cloud2.0時代のゲーム開発を支えるGS2
kazutomo
1
2.2k
Unityネットワーク完全に理解した.pdf
kazutomo
3
3.4k
サーバレスアプリケーションの監視・運用
kazutomo
13
6.7k
ゼロからサーバレスの先頭に追いつこう
kazutomo
25
12k
Other Decks in Technology
See All in Technology
TypeScript Compiler APIとPHP-Parserを活用し、TypeScriptとPHPで型を共有する
shuta13
0
360
価格.comをAI駆動で全面刷新する ー 30年分の技術的負債を返し、次の30年の土台をつくる ー / AI Engineering Summit Tokyo 2026
tkyowa
50
55k
AI-DLCを活用した高品質・安全なAI駆動開発実践 / AI Driven Development with AI-DLC
yoshidashingo
0
140
ChatworkとBPaaS 異なる特性で学んだAI機能開発の ベストプラクティス
kubell_hr
2
3k
Chart.js が簡単に使えるようになっていたので OGP 画像生成に使った話
kamekyame
0
170
Unlocking the Apps
pimterry
0
250
サプライチェーンセキュリティの空白地帯 - 信頼できる”依存性”の未来を考える
rung
PRO
2
750
データ基盤をDataformで整えた話 〜 開発環境を添えて 〜
takapy
0
120
10倍の生産性を実現するAI駆動並列エージェントのすべて
kumaiu
4
850
個人最適 から 全体最適 へ AI情報共有会・AIギルド・AI-DLC で進める カンリーの組織展開
rfdnxbro
0
1.7k
noUncheckedIndexedAccess、3時間、1万円。 / noUncheckedIndexedAccess, 3 Hours, 10,000 JPY.
kaonavi
1
320
SIer20年! 培ったスキルがスタートアップで輝く時
shucho0103
0
490
Featured
See All Featured
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
Optimising Largest Contentful Paint
csswizardry
37
3.7k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.3k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Agile that works and the tools we love
rasmusluckow
331
21k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
840
Typedesign – Prime Four
hannesfritz
42
3.1k
The Limits of Empathy - UXLibs8
cassininazir
1
350
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
55k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
770
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 ϕʔλςετࢀՃऀืूதʂ