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
650
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
410
ごめんやっぱり早いよ SNS/SQS
tsuchinoko
0
1.2k
Other Decks in Programming
See All in Programming
複雑なドメインに挑む.pdf
yukisakai1225
5
980
Namespace and Its Future
tagomoris
6
690
為你自己學 Python - 冷知識篇
eddie
1
340
Design Foundational Data Engineering Observability
sucitw
3
160
Putting The Genie in the Bottle - A Crash Course on running LLMs on Android
iurysza
0
110
コンテキストエンジニアリング Cursor編
kinopeee
1
760
個人軟體時代
ethanhuang13
0
310
More Approvers for Greater OSS and Japan Community
tkikuc
1
110
250830 IaCの選定~AWS SAMのLambdaをECSに乗り換えたときの備忘録~
east_takumi
0
380
MLH State of the League: 2026 Season
theycallmeswift
0
220
Introducing ReActionView: A new ActionView-compatible ERB Engine @ Rails World 2025, Amsterdam
marcoroth
0
540
アプリの "かわいい" を支えるアニメーションツールRiveについて
uetyo
0
190
Featured
See All Featured
Designing for Performance
lara
610
69k
Facilitating Awesome Meetings
lara
55
6.5k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Into the Great Unknown - MozCon
thekraken
40
2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Site-Speed That Sticks
csswizardry
10
810
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
Typedesign – Prime Four
hannesfritz
42
2.8k
How to Ace a Technical Interview
jacobian
279
23k
Optimizing for Happiness
mojombo
379
70k
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.ϥΠϒϥϦͷରԠ͕͍ ͍͍ͭͯͳ͍͕͋ΔͨΊɺࠓޙࢹ͢Δ ඞཁ͕͋Γͦ͏