हमारी छोटी श्रृंखला के पहले लेख में हमने पता लगाया कि डॉकर कंटेनर इमेज और जावा रनटाइम का उपयोग करके लैम्ब्डा फ़ंक्शन को कैसे विकसित और तैनात किया जाए। हमने 2 उपयोग मामलों का पता लगाया:
इस लेख में हम इस दृष्टिकोण AWS लैम्ब्डा बेस डॉकर कंटेनर छवि का उपयोग करके लैम्ब्डा फ़ंक्शन की ठंडी और गर्म शुरुआत को मापेंगे।
हमारे माप के लिए हम पहले भाग से हमारे नमूना एप्लिकेशन का उपयोग करेंगे और हमारे लैम्ब्डा फ़ंक्शन के लिए जावा 21 रनटाइम का उपयोग करेंगे। सभी लैम्ब्डा कार्यों के लिए हम 1024 एमबी मेमोरी देते हैं और JAVA_TOOL_OPTIONS का उपयोग करते हैं: "-XX: TieredCompilation -XX:TieredStopAtLevel=1" क्योंकि यह संकलन विकल्प ठंडे और गर्म प्रारंभ समय के बीच बहुत अच्छा व्यापार प्रदान करता है।
नीचे दिए गए प्रयोग के परिणाम लैम्ब्डा फ़ंक्शन GetProductByIdWithPureJava21GraalVMNativeImageLambda के साथ 1 घंटे की अवधि के लिए 100 से अधिक ठंड और लगभग 100,000 गर्म शुरुआत को पुन: प्रस्तुत करने पर आधारित थे, जो जावा लैम्ब्डा हैंडलर क्लास में मैप किया गया है जो उत्पाद को पुनः प्राप्त करने (संग्रहीत) के लिए जिम्मेदार है DynamoDB में) आईडी द्वारा। इसके लिए मैंने लोड टेस्ट टूल का उपयोग किया, लेकिन आप सर्वरलेस-आर्टिलरी या पोस्टमैन जैसे किसी भी टूल का उपयोग कर सकते हैं।
ठंडा (सी) और गर्म (एम) प्रारंभ समय एमएस में:
सी पी50 | सी पी75 | सी पी90 | सी पी99 | c p99.9 | सी अधिकतम | w p50 | w p75 | w p90 | w p99 | w p99.9 | अधिकतम |
---|---|---|---|---|---|---|---|---|---|---|---|
3093.26 | 3219.44 | 3314.12 | 4632.16 | 6513.35 | 6517.71 | 5.47 | 6.20 | 7.39 | 17.14 | 43.03 | 1386.07 |
इस आलेख में, हमने इस दृष्टिकोण AWS लैम्ब्डा बेस डॉकर कंटेनर छवि का उपयोग करके लैम्ब्डा फ़ंक्शन के ठंडे और गर्म प्रारंभ समय को मापा। हमने 1024 एमबी मेमोरी और लैम्ब्डा जावा 21 प्रबंधित रनटाइम के साथ लैम्ब्डा के लिए विभिन्न लैम्ब्डा मेमोरी सेटिंग्स का उपयोग करके जावा 21 के साथ ठंडी और गर्म शुरुआत को मापने की तुलना में काफी महत्वपूर्ण कोल्ड स्टार्ट और काफी प्रतिस्पर्धी गर्म स्टार्ट समय का अनुभव किया।
AWS लैम्ब्डा स्नैपस्टार्ट जो कोल्ड स्टार्ट समय को काफी कम कर देता है, वर्तमान में केवल जावा कोरेटो प्रबंधित रनटाइम (11, 17 और 21) के लिए उपलब्ध है, डॉकर कंटेनर छवियों के लिए नहीं। आप छोटे कस्टम रनटाइम इमेज और क्लास डेटा शेयरिंग (सीडीएस) में मॉड्यूल और उनकी निर्भरता के एक सेट को इकट्ठा करने और अनुकूलित करने के लिए जेलिंक टूल का पता लगा सकते हैं, जो जावा प्रोग्रामिंग भाषा अनुप्रयोगों, विशेष रूप से छोटे अनुप्रयोगों के लिए स्टार्टअप समय को कम करने में मदद करता है, साथ ही साथ पदचिह्न कम करें. जावा के लिए परिनियोजन आर्टिफैक्ट के रूप में डॉकर छवि का उपयोग करने का लाभ जावा 22 जैसे हालिया जावा रनटाइम का उपयोग करने की क्षमता है (जावा 23 सितंबर 2024 में जारी किया जाएगा)।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3