सर्वर रहित अनुप्रयोगों के लिए मेरे लेख अमेज़न DevOps गुरु में - भाग 10 ऑरोरा सर्वर रहित v2 पर विसंगति का पता लगाना, हमने सीखा कि DevOps गुरु जावा 21 प्रबंधित लैम्ब्डा फ़ंक्शन के मामले में ऑरोरा (सर्वर रहित v2) PostgreSQL डेटाबेस के साथ विसंगतियों का सफलतापूर्वक पता लगाने में सक्षम था। रनटाइम जेडीबीसी के माध्यम से इससे जुड़ा था। हमने अपने डेटाबेस को केवल 0.5 से 1 एसीयू तक बढ़ाया और कई मिनटों के लिए एक साथ कई सौ बार आईडी द्वारा उत्पाद को पुनः प्राप्त करने के लिए लैम्ब्डा फ़ंक्शन को लागू करके डेटाबेस पर बहुत अधिक लोड बनाया। हमने देखा कि DevOps Guru ने डेटाबेस कनेक्शन के बढ़े हुए योग और लगातार उच्च डेटाबेस (CPU) लोड की ओर सही ढंग से इंगित किया है। इस लेख में मैं यह जानना चाहता हूं कि क्या DevOps गुरु एक ही प्रयोग करते हुए विसंगति का पता लगाएगा, लेकिन JDBC के बजाय जावा के लिए AWS SDK के साथ ऑरोरा सर्वरलेस v2 के लिए डेटा एपीआई का उपयोग करेगा।
आइए हमारे नमूना एप्लिकेशन पर गौर करें और बुनियादी ढांचा बनाने और निम्नलिखित चित्र पर वर्णित एप्लिकेशन को तैनात करने के लिए एसएएम टेम्पलेट का उपयोग करें:
एप्लिकेशन ऑरोरा सर्वरलेस वी2 पोस्टग्रेएसक्यूएल डेटाबेस में संग्रहीत उत्पाद बनाता है और डेटा एपीआई का उपयोग करके आईडी द्वारा उन्हें पुनर्प्राप्त करता है। प्रासंगिक लैम्ब्डा फ़ंक्शन जिसका उपयोग हम उत्पाद को उसकी आईडी द्वारा पुनर्प्राप्त करने के लिए करेंगे, वह GetProductByIdViaAuroraServerlessV2DataApi है और इसका हैंडलर कार्यान्वयन GetProductByIdViaAuroraServerlessV2DataApiHandler है।
जैसा कि पिछले लेख में हम इस तरह तनाव परीक्षण करने के लिए हे टूल का उपयोग करते हैं
hey -z 15m -c 300 -H "X-API-Key: XXXa6XXXX" https://XXX.execute-api.eu-central-1.amazonaws.com/prod/productsWithDataApi/1
इस उदाहरण में हम 15 मिनट के लिए 300 समवर्ती कंटेनरों के साथ एपीआई गेटवे एंडपॉइंट को लागू करते हैं। उत्पाद/उत्पादों के पीछे डेटाएपीआई एंडपॉइंट लैम्ब्डा फ़ंक्शन GetProductByIdViaAuroraServerlessV2WithoutDataApi को लागू किया जाएगा जो ऑरोरा सर्वरलेस v2 PostgreSQL डेटाबेस से आईडी 1 द्वारा उत्पाद को पुनः प्राप्त करेगा।
हमने अपने [एसएएम टेम्पलेट]((https://github.com/Vadym79/AWSLambdaJavaAuroraServerlessV2DataApi/blob/master/template.yaml) ऑरोरा डेटाबेस क्लस्टर को न्यूनतम क्षमता 0.5 से अधिकतम क्षमता 1 ACU (जो है) तक कॉन्फ़िगर किया है लागत बचत उद्देश्य के लिए बढ़े हुए लोड के मामले में बहुत छोटा डेटाबेस आकार)।
AuroraServerlessV2Cluster: Type: 'AWS::RDS::DBCluster' ... ServerlessV2ScalingConfiguration: MinCapacity: 0.5 MaxCapacity: 1
ऑरोरा (सर्वरलेस वी2) डेटाबेस डेटाबेस आकार (हमारे मामले में एसीयू सेटिंग) के आनुपातिक रूप से उपलब्ध डेटाबेस कनेक्शन की अधिकतम संख्या का प्रबंधन करता है, साथ ही ऑरोरा सर्वरलेस वी2 के लिए डेटा एपीआई के साथ (जो कि वी1 के लिए एक बड़ा अंतर है जो बन जाएगा) वर्ष 2024 के अंत में समर्थन से बाहर जहां प्रति सेकंड 1000 डेटाबेस कनेक्शन का एक कठिन कोटा था)। अधिक जानकारी के लिए, कृपया ऑरोरा सर्वरलेस v2 के लिए अधिकतम कनेक्शन के बारे में दस्तावेज़ पढ़ें। इसलिए, इनवोकेशन की बढ़ी हुई संख्या के साथ, हम जल्द ही उपलब्ध डेटाबेस कनेक्शन और उच्च डेटाबेस (सीपीयू) लोड की अधिकतम संख्या तक पहुंचने की उम्मीद करते हैं, जिससे डेटाबेस उत्पाद को पुनः प्राप्त करने के लिए नए लैम्ब्डा फ़ंक्शन अनुरोधों का जवाब देने में सक्षम नहीं होगा। आईडी (तब लैम्ब्डा भी चलेगा)। इससे हम विसंगति को उजागर करेंगे और यह पता लगाना चाहेंगे कि क्या DevOps Guru इसका पता लगाने में सक्षम होगा। और यह सक्षम था, एक तरह का.... निम्नलिखित अंतर्दृष्टि उत्पन्न हुई:
और निम्नलिखित समग्र विसंगतिपूर्ण मीट्रिक की पहचान की गई है:
सर्वर रहित अनुप्रयोगों के लिए मेरे लेख अमेज़ॅन डेवऑप्स गुरु में वर्णित डेटा एपीआई के बजाय जेडीबीसी का उपयोग करने के मामले में पहचाने गए एकत्रित विसंगतिपूर्ण मेट्रिक्स की तुलना - ऑरोरा सर्वरलेस वी2 पर भाग 10 विसंगति का पता लगाना, हम ऑरोरा डेटाबेस विसंगतिपूर्ण मेट्रिक्स को पूरी तरह से खारिज कर देते हैं: डेटाबेस कनेक्शन योग और डेटाबेस (सीपीयू) लोड लेकिन लैम्ब्डा में त्रुटि को सही ढंग से देखें जो 15 सेकंड में निर्धारित समय में चला गया क्योंकि डेटाबेस प्रतिक्रिया नहीं दे सका।
.
तो, क्या अंतर है? आइए उन दोनों घटनाओं का पता लगाएं जिन्हें हमने जेडीबीसी (नॉन डेटा एपीआई) और डेटा एपीआई के साथ ऑरोरा सर्वरलेस वी2 पोस्टग्रेएसक्यूएल क्लस्टर पर पुन: प्रस्तुत किया था:
एसीयू उपयोग/स्केलिंग के संदर्भ में वे दोनों एक जैसे दिखते हैं:
अन्य डेटाबेस मेट्रिक्स जैसे: सीपीयू यूटिलाइजेशन, डेटाबेसकनेक्शन डीबीएलओएड (सीपीयू) के संदर्भ में भारी अंतर हैं:
उसके साथ और बहुत कम डीबीएलओएड (सीपीयू) के साथ जेडीबीसी उपयोग के मामले की तुलना में डेटा एपीआई उपयोग के साथ ऑरोरा सर्वरलेस वी2 क्लस्टर के लिए कोई डेवऑप्स गुरु अंतर्दृष्टि उत्पन्न नहीं हुई है।
मैंने ऑरोरा सर्वरलेस वी2 क्लस्टर से सीधे जुड़कर दूसरा प्रयोग किया और मानक तरीके (गैर-डेटा एपीआई) का उपयोग करके कई सौ बार आईडी द्वारा उत्पाद लाने वाली स्क्रिप्ट लिखकर लोड टेस्ट बनाने के लिए स्क्रिप्ट लिखी। जैसा कि हमने हे टूल के साथ किया था, लेकिन एपीआई गेटवे को लागू करने के बजाय सीधे डेटाबेस पर ले जाना। डेटाबेस को लोड में रखने के बाद, मैंने हे टूल के साथ वही प्रयोग शुरू किया जैसा कि ऊपर वर्णित है और देखना चाहता था कि क्या होगा। वही अंतर्दृष्टि उत्पन्न हुई लेकिन इस बार निम्नलिखित असंगत मैट्रिक्स के साथ:
अब हम कम से कम अतिरिक्त ऑरोरा सर्वरलेस वी2 डेटाबेस कनेक्शन योग विषम मीट्रिक देखते हैं, लेकिन डीबीएलओएड (सीपीयू) मीट्रिक अभी भी गायब हैं।
रेखांकित विसंगतियाँ इस तरह दिखती हैं:
बेशक, प्रयोग साफ नहीं था, क्योंकि मैंने एक के बाद एक और आंशिक रूप से समानांतर में 2 लोड परीक्षण किए: पहला एपीआई गेटवे उपयोग के बिना सीधे डेटाबेस से जुड़ना और दूसरा डेटा एपीआई का उपयोग करके। इसने मेरी प्रारंभिक धारणा की पुष्टि की कि ऑरोरा सर्वरलेस v2 (और सामान्य रूप से आरडीएस के लिए) के लिए DevOps गुरु अंतर्दृष्टि उत्पन्न करने के लिए डेटाबेस कनेक्शन योग मेट्रिक्स एक बहुत ही महत्वपूर्ण मानदंड है और डेटा एपीआई का उपयोग करने के मामले में यह सामान्य रूप से उजागर नहीं होता है।
मैंने पहले ही देवोप्स गुरु टीम से संपर्क किया और उनके साथ अपनी अंतर्दृष्टि इस उम्मीद के साथ साझा की कि वे सेवा में सुधार करेंगे। या सबसे पहले डेटा एपीआई के साथ ऑरोरा सर्वरलेस वी2 का उपयोग करने के लिए क्लाउडवॉच मेट्रिक के रूप में डेटाबेस कनेक्शन को उजागर करना तय किया जाएगा।
इस लेख में पता चला कि DevOps Guru लैम्ब्डा फ़ंक्शन के मामले में ऑरोरा (सर्वरलेस v2) पोस्टग्रेएसक्यूएल डेटाबेस के साथ विसंगतियों का सफलतापूर्वक पता लगा सकता है, जिसमें जावा 21 प्रबंधित रनटाइम डेटा एपीआई के माध्यम से जुड़ा हुआ है, लेकिन केवल लैम्ब्डा फ़ंक्शन से संबंधित विसंगतिपूर्ण मेट्रिक्स दिखा सका। डेटाबेस द्वारा प्रतिक्रिया न देने के कारण समय समाप्त हो गया। इसका मुख्य कारण यह प्रतीत होता है कि डेटा एपीआई के साथ ऑरोरा सर्वरलेस v2 का उपयोग करने के मामले में क्लाउडवॉच मेट्रिक के रूप में डेटाबेस कनेक्शन उजागर नहीं होता है (या हमेशा 0 के रूप में प्रदर्शित होता है)। ऑरोरा सर्वरलेस v2 डेटाबेस मेट्रिक्स (डेटाबेस कनेक्शन योग) केवल दूसरे कृत्रिम प्रयोग के दौरान दिखाया गया था।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3