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
660
0
Share
Quarkus を用いて Java ランタイムの Lambda コールドスタートによる遅延を解決したかった
2020年2月6日(木)に「JAWS-UG Osaka 『知ってると役立つ、AWSちょいテク祭り』」のLT枠でお話させていただいた内容です。
tsuchinoko
February 06, 2020
More Decks by tsuchinoko
See All by tsuchinoko
Rust で DDD を実践しながら API サーバーを実装・構築した(つもり)
tsuchinoko
0
430
ごめんやっぱり早いよ SNS/SQS
tsuchinoko
0
1.3k
Other Decks in Programming
See All in Programming
~ 秘伝のタレ化した『神スプシ』と戦う ~ 関数型パラダイムで壊れない仕組みへ
h0r15h0
1
130
AIとRubyの静的型付け
ukin0k0
0
120
Stage 3 Decorators でできること / できないこと / TSKaigi 2026
susisu
1
1.1k
ふつうのFeature Flag実践入門
irof
6
2.8k
TypeScriptだけでAIエージェントを作る フロント・エージェント・インフラのフルスタック実践
har1101
6
1k
Talking to terminals (and how they talk back) (KotlinConf 2026)
jakewharton
PRO
1
120
関係性から理解する"同一性"の型用語たち
pvcresin
2
530
Swiftのレキシカルスコープ管理
kntkymt
0
190
[BalkanRuby 2026] Drop your app/services!
palkan
3
690
tsserverとは何だったのか、これからどうなるのか
nowaki28
1
400
New "Type" system on PicoRuby
pocke
1
170
新規プロダクトを高速で生み出すハーネスエンジニアリング
seanchas116
4
280
Featured
See All Featured
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
540
Google's AI Overviews - The New Search
badams
0
1k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
Optimising Largest Contentful Paint
csswizardry
37
3.7k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
140
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.1k
We Have a Design System, Now What?
morganepeng
55
8.1k
GitHub's CSS Performance
jonrohan
1033
470k
Mobile First: as difficult as doing things right
swwweet
225
10k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
54k
Balancing Empowerment & Direction
lara
6
1.1k
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.ϥΠϒϥϦͷରԠ͕͍ ͍͍ͭͯͳ͍͕͋ΔͨΊɺࠓޙࢹ͢Δ ඞཁ͕͋Γͦ͏