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
Quarkus を用いて Java ランタイムの Lambda コールドスタートによる遅延を解決したかった
Search
tsuchinoko
February 06, 2020
Programming
0
590
Quarkus を用いて Java ランタイムの Lambda コールドスタートによる遅延を解決したかった
2020年2月6日(木)に「JAWS-UG Osaka 『知ってると役立つ、AWSちょいテク祭り』」のLT枠でお話させていただいた内容です。
tsuchinoko
February 06, 2020
Tweet
Share
More Decks by tsuchinoko
See All by tsuchinoko
Rust で DDD を実践しながら API サーバーを実装・構築した(つもり)
tsuchinoko
0
370
ごめんやっぱり早いよ SNS/SQS
tsuchinoko
0
1.1k
Other Decks in Programming
See All in Programming
SIMD Parallel Programming with the Vector API
josepaumard
0
160
educure_カリキュラム生操作マニュアル.pdf
linew_official
0
760
サイコロで理解する統計的仮説検定の考え方
tatamiya
4
930
MicrosoftのPlatform Engineeringガイドを読んで実際になにかやってみた
ymd65536
1
320
CA.swift19 恋するAIアプリ開発の裏側
oskmr
0
360
Anthropic Cookbook のおすすめレシピ
schroneko
7
930
Blue/Greenデプロイの導入による 運用フローの改善
kudoas
1
370
Azure OpenAI Serviceのプロンプトエンジニアリング入門
tomokusaba
3
690
Milestoner
bkuhlmann
1
410
PHPはいつから死んでいるかの調査
chiroruxx
1
400
大規模Reactアプリのリアーキテクチャ~8万行のTanStack Query移行の軌跡~
kj455
4
960
Ruby Pattern Matching
bkuhlmann
0
930
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Docker and Python
trallard
34
2.7k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
Testing 201, or: Great Expectations
jmmastey
28
6.3k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
Adopting Sorbet at Scale
ufuk
68
8.6k
Statistics for Hackers
jakevdp
789
220k
Visualization
eitanlees
136
14k
Building a Modern Day E-commerce SEO Strategy
aleyda
17
6.4k
Designing on Purpose - Digital PM Summit 2013
jponch
110
6.5k
Large-scale JavaScript Application Architecture
addyosmani
504
110k
Optimizing for Happiness
mojombo
370
69k
Transcript
ίʔϧυελʔτʹΑΔԆΛ גࣜձࣾϦϯίʔυ Ԭ㟒ɹਖ਼ޛ !UTVDIJOPLP Λ༻͍ͯɺ ϥϯλΠϜͷ ղܾͨ͠ ͔ͬͨ ݄ʢ
+"846(0TBLB ʮͬͯΔͱཱͭɺ"84ͪΐ͍ςΫࡇΓʯ
ίʔϧυελʔτʹΑΔԆΛ גࣜձࣾϦϯίʔυ Ԭ㟒ɹਖ਼ޛ !UTVDIJOPLP Λ༻͍ͯɺ ϥϯλΠϜͷ ղܾͨ͠ ͔ͬͨ ݄ʢ
+"846(0TBLB ʮͬͯΔͱཱͭɺ"84ͪΐ͍ςΫࡇΓʯ ਓੜॳొஃ ˍ "84ྺϲ݄
࣭
"84-BNCEB Λ͍ͬͯΔํʁ
ϥϯλΠϜԿͰ͔͢ʁ
+BWB ॳճىಈ͕ ͍ ࢀߟɿIUUQBDSPFOHJOFFSIBUFOBCMPHDPNFOUSZ
+BWBϥϯλΠϜͰ ϝϞϦͷઃఆΛ ࠷খʹ͍ͯ͠Δͱ ಈ͔ͳ͍ ࢀߟɿIUUQBDSPFOHJOFFSIBUFOBCMPHDPNFOUSZ
ٹੈओ ʢ͒͘ʔ͔͢ʣ
8IBUJT2VBSLVT w ,VCFSOFUFTαʔόʔϨεڥʹ ͓͍ͯɺ+BWBΛઌਐతͳϓϥοτϑΥʔϜ ʹ͢Δ͜ͱΛࢦͨ͠ϑϨʔϜϫʔΫ ᶃ *NQFSBUJWFͳϞσϧͱ3FBDUJWFͳϞ σϧͷ྆ํΛՄೳʹ͢Δɹ ᶄ ɹɹɹɹɹΛར༻ͯ͠ωΠςΟϒ
όΠφϦΛ࡞͠ɺίϯςφԽ ىಈ࣌ؒͷॖͱϝϞϦফඅྔͷݮ Λ࣮ݱ ࢀߟɿIUUQTXXXQVCMJDLFZKQCMPHKBWBRVBSLVTKBWBKBWBSFE@IBUIUNM
࡞ͬͨͷ
Ͳ͏ͬͯ࡞͔ͬͨ jar ωΠςΟϒ Πϝʔδ ΧελϜ ϥϯλΠϜͰ
ਏ͔ͬͨɾɾɾ w +BWBͰͳ͘ɺ4DBMBͰॻ͍ͨͷͰɺઃఆϑΝΠϧΛ͍Ζ ͍Ζͱॻ͖͑ͳ͍ͱ͍͚ͳ͍ w 4DBMBͷόʔδϣϯ͕৽͗͢͠Δͱ(SBBM7.ͱͷ݉Ͷ߹͍Ͱ ωΠςΟϒίϯύΠϧ͕Ͱ͖ͳ͍ w ωΠςΟϒΠϝʔδʹ͢Δࡍʹɺ)5514௨৴ʹඞཁͳϥΠϒ ϥϦ͕ΰοιϦܽམ͢Δ͜ͱʹؾͮ͘ͷʹ͕͔͔࣌ؒͬͨ
ͳΜͱ͔Ͱ͖ͨͷͰ ݕূ
ىಈ࣌ؒ Java ΧελϜ 1ճ 11251.75 ms 1098.85 ms 2ճ 143.28
ms 104.11 ms 3ճ 161.20 ms 110.86 ms 4ճ 131.35 ms 106.22 ms 5ճ 111.90 ms 98.87 ms 6ճ 144.11 ms 109.70 ms 7ճ 171.29 ms 138.62 ms 8ճ 162.03 ms 97.86 ms 9ճ 107.35 ms 107.63 ms 10ճ 117.39 ms 173.44 ms wॳճىಈѹతͳ ࠩ wճҎ߱ͦΜͳ ʹେ͖͘มΘΒͳ ͍
࠷େফඅϝϞϦ Java ϥϯλΠϜ ΧελϜϥϯλΠϜ 117 MB 77 MB • ΧελϜϥϯλΠϜͷํ͕ফඅϝϞϦগͳ͔ͬͨ
• Java ϥϯλΠϜͷํɺLambda ͷઃఆϝϞϦΛ࠷খͷ 128 MB ʹ͢ΔͱɺOutOfMemorryError ͰΞϓϦ͕མͪΔ
Αʔ͠ɺ͜ΕͰαʔόʔϨεͳ ΞϓϦΛ4DBMB+BWBͰ όϦόϦ࡞Δͧʔ
Αʔ͠ɺ͜ΕͰαʔόʔϨεͳ ΞϓϦΛ4DBMB+BWBͰ όϦόϦ࡞Δͧʔ ͱ͜Ζ͕
·ͩਏ͍ϙΠϯτ͕͍ͭ͋ͬͨ͘ w+BWBͷݹདྷ͔ΒͷςΫχοΫͰൃੜ w ಈతͳΫϥεϩʔυ w ಈతͳόΠτίʔυΤϯϋϯεϝϯτ wطଘϥΠϒϥϦ͕(SBBM7.ʹରԠͯ͠ͳ͍ ࢀߟɿIUUQTDFSPUIBUFOBEJBSZKQFOUSZ
͔ͭ͠ແ͍ɾɾɾ w+BWBͷݹདྷ͔ΒͷςΫχοΫͰൃੜ w ಈతͳΫϥεϩʔυ w ಈతͳόΠτίʔυΤϯϋϯεϝϯτ wطଘϥΠϒϥϦ͕(SBBM7.ʹରԠͯ͠ͳ͍ (SBBM7.ͷόʔδϣϯΞοϓ ϥΠϒϥϦͷόʔδϣϯΞοϓ
ৄ͍࣮͠ͳͲฐࣾͷٕज़ϒϩάͰʜ IUUQTCMPHMJOLPEFDPKQ
·ͱΊ w+BWBͷ৽͍͠ϑϨʔϜϫʔΫͰ͋Δ 2VBSLVTΛͬͯΈͨ w+BWBͰ࡞ͬͨ"84-BNCEBΛར༻ͨ͠Ξ ϓϦͷॳճىಈͷ͞ղܾͰ͖ͦ͏ wͨͩ͠ɺ(SBBM7.ϥΠϒϥϦͷରԠ͕͍ ͍͍ͭͯͳ͍͕͋ΔͨΊɺࠓޙࢹ͢Δ ඞཁ͕͋Γͦ͏