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
630
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
390
ごめんやっぱり早いよ SNS/SQS
tsuchinoko
0
1.2k
Other Decks in Programming
See All in Programming
もう僕は OpenAPI を書きたくない
sgash708
6
1.9k
たのしいSocketのしくみ / Socket Under a Microscope
coe401_
8
1.3k
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
680
もう少しテストを書きたいんじゃ〜 #phpstudy
o0h
PRO
17
4k
CloudNativePGを布教したい
nnaka2992
0
110
LINE messaging APIを使ってGoogleカレンダーと連携した予約ツールを作ってみた
takumakoike
0
110
Rubyと自由とAIと
yotii23
6
1.8k
SwiftUI Viewの責務分離
elmetal
PRO
2
270
Unity Android XR入門
sakutama_11
0
180
5分で理解する SOLID 原則 #phpcon_nagoya
shogogg
1
310
ソフトウェアエンジニアの成長
masuda220
PRO
12
2.1k
負債になりにくいCSSをデザイナとつくるには?
fsubal
10
2.6k
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
A designer walks into a library…
pauljervisheath
205
24k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
Scaling GitHub
holman
459
140k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
A Tale of Four Properties
chriscoyier
158
23k
Designing for Performance
lara
604
68k
BBQ
matthewcrist
87
9.5k
GraphQLとの向き合い方2022年版
quramy
44
14k
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.ϥΠϒϥϦͷରԠ͕͍ ͍͍ͭͯͳ͍͕͋ΔͨΊɺࠓޙࢹ͢Δ ඞཁ͕͋Γͦ͏