इन्फॉर्मेटिका में प्रदर्शन ट्यूनिंग: पूर्ण ट्यूटोरियल
⚡ स्मार्ट सारांश
इनफॉर्मेटिका में परफॉर्मेंस ट्यूनिंग सत्र में सबसे धीमी कड़ी को एक-एक परत करके हटा देती है, लक्ष्य से स्रोत (मैप) तक काम करते हुए।pingसत्र और अंत में ऑपरेटिंग सिस्टम।

इनफॉर्मेटिका में परफॉर्मेंस ट्यूनिंग क्या है?
इनफॉर्मेटिका में परफॉर्मेंस ट्यूनिंग का मतलब है उस कंपोनेंट को ढूंढना जो सेशन की गति को सीमित करता है, उस सीमा को हटाना, और फिर अगले सबसे धीमे कंपोनेंट पर यही प्रक्रिया दोहराना। एक सेशन की गति उसकी सबसे धीमी लेयर पर निर्भर करती है, इसलिए उस ट्रांसफॉर्मेशन को ट्यून करने से कोई मापने योग्य लाभ नहीं मिलता जो कभी समस्या का कारण नहीं था।
इनफॉर्मेटिका ने उन पांच स्थानों की पहचान की है जहां अड़चन उत्पन्न हो सकती है और उन्हें एक निश्चित क्रम में जांचने की सिफारिश की है।
| व्यवस्था | परत | सामान्य कारण |
| 1 | Target | धीमी लेखन गति, छोटे चेकपॉइंट अंतराल, छोटे डेटाबेस नेटवर्क पैकेट आकार |
| 2 | स्रोत | धीमी क्वेरी, इंडेक्स का अभाव, अनावश्यक कॉलम पढ़े जा रहे हैं |
| 3 | नक्शाping | महंगे या गलत तरीके से किए गए परिवर्तन, अत्यधिक बड़े कैश |
| 4 | अधिवेशन | Buffer मेमोरी, कमिट अंतराल, विभाजन, लोड प्रकार |
| 5 | प्रणाली | इंटीग्रेशन सर्विस मशीन पर सीपीयू संतृप्ति, आई/ओ प्रतीक्षा, पेजिंग |
यह क्रम जानबूझकर निर्धारित किया गया है। एक लक्ष्य जो पंक्तियों को पर्याप्त तेज़ी से अवशोषित नहीं कर सकता, वह प्रत्येक अपस्ट्रीम परत को धीमा दिखाएगा, इसलिए इसकी जाँच पहले की जाती है। पूरी विधि का दस्तावेजीकरण इसमें किया गया है। पॉवरसेंटर परफॉर्मेंस ट्यूनिंग गाइड.
प्रदर्शन में आने वाली बाधाओं की पहचान कैसे करें
किस परत की गति धीमी है, इसका अनुमान लगाने में मापने से कहीं अधिक समय बर्बाद होता है। ऊपर सूचीबद्ध पाँच परतों को चार तकनीकों द्वारा कवर किया जा सकता है।
- एक परीक्षण सत्र चलाएँ। इसकी एक प्रति कॉन्फ़िगर करें सत्र किसी फ्लैट फ़ाइल टारगेट पर लिखने के लिए। यदि सेशन की गति में उल्लेखनीय वृद्धि होती है, तो टारगेट ही बाधा है। इसी प्रक्रिया का उल्टा, यानी फ्लैट फ़ाइल सोर्स से पढ़ने पर, सोर्स की बाधा का पता चलता है।
- थ्रेड सांख्यिकी का विश्लेषण करें। डेटा ट्रांसफॉर्मेशन मैनेजर एक रीडर थ्रेड, एक या अधिक ट्रांसफॉर्मेशन थ्रेड और एक राइटर थ्रेड चलाता है। सेशन लॉग में सबसे अधिक व्यस्त समय वाला थ्रेड सीधे उस लेयर को इंगित करता है जिस पर काम करना है: सोर्स के लिए रीडर, मैप के लिए ट्रांसफॉर्मेशन।ping, लक्ष्य के लिए लेखक।
- प्रदर्शन संबंधी विवरणों का विश्लेषण करें। सेशन पर परफॉर्मेंस डेटा संग्रह को सक्षम करें और काउंटर पढ़ें। उच्च त्रुटि वाली पंक्तियाँ या लुकअप कैश में पंक्तियों की बड़ी संख्या मैप की समस्या को दर्शाती है।ping यह डेटाबेस की समस्या नहीं बल्कि एक समस्या है।
- सिस्टम की निगरानी करें। Operaसीपीयू उपयोग, इनपुट/आउटपुट प्रतीक्षा और पेजिंग दिखाने वाले सिस्टम टूल, साथ ही साथ वर्कफ़्लो मॉनिटर संसाधन संबंधी दृश्य यह दर्शाते हैं कि मशीन की क्षमता पूरी तरह से समाप्त हो चुकी है।
एक बार जब जिम्मेदार परत ज्ञात हो जाती है, तो निम्नलिखित अनुभागों में परिवर्तन-स्तर संबंधी सलाह लागू करना उपयोगी हो जाता है। ये अनुभाग पाइपलाइन क्रम में व्यवस्थित हैं, उस बिंदु से जहां डेटा प्रवेश करता है। नक्शाping इस हद तक कि इसे एकत्रित किया जा सके।
स्रोत क्वालीफायर परिवर्तन
सोर्स क्वालिफायर द्वारा न पढ़ी गई प्रत्येक पंक्ति एक ऐसी पंक्ति है जिसे किसी अन्य रूपांतरण को संसाधित करने की आवश्यकता नहीं होती है, जिससे यह पूरे मानचित्र में सबसे किफायती स्थान बन जाता है।ping समय बचाने के लिए।
- स्रोत से केवल आवश्यक कॉलम ही लाएँ। अधिकांश बार स्रोत तालिका के सभी कॉलम आवश्यक नहीं होते, इसलिए अनावश्यक कॉलम हटाकर केवल आवश्यक फ़ील्ड ही लाएँ।
- ऑर्डर बाय क्लॉज़ का उपयोग करने से बचें स्रोत क्वालीफायर SQL ओवरराइड। ऑर्डर बाय क्लॉज़ के लिए अतिरिक्त प्रोसेसिंग की आवश्यकता होती है और इसे हटाकर प्रदर्शन को बढ़ाया जा सकता है।
फ़िल्टर रूपांतरण
फ़िल्टरिंग प्रक्रिया में एक चरण बाद भी यही सिद्धांत लागू होता है: मानचित्र में अवांछित पंक्तियों को सबसे पहले हटा दें।ping उनके बारे में पर्याप्त जानकारी है जिससे उनकी पहचान की जा सके।
- उपयोग फ़िल्टर रूपांतरण मानचित्र के अंदर जितनी जल्दी हो सकेpingयदि मानचित्र में अवांछित डेटा को शुरुआत में ही हटाया जा सकता है।pingइससे उत्पादन क्षमता में वृद्धि होगी।
- डेटा को फ़िल्टर करने के लिए सोर्स क्वालिफ़ायर का उपयोग करें। आप फ़िल्टर ट्रांसफ़ॉर्मेशन का उपयोग करने के बजाय, रिकॉर्ड्स को फ़िल्टर करने के लिए सोर्स क्वालिफ़ायर SQL ओवरराइड का भी उपयोग कर सकते हैं।
जॉइनर परिवर्तन
किसी सामान्य मानचित्र में शामिल होना ही वास्तव में पहला महंगा ऑपरेशन होता है।pingक्योंकि विवरण पंक्तियों का मिलान करने से पहले मास्टर स्रोत को कैश में संग्रहीत करना आवश्यक है।
- यदि संभव हो तो डेटाबेस में ही जॉइन ऑपरेशन करना बेहतर होता है, क्योंकि डेटाबेस जॉइन ऑपरेशन इन्फॉर्मेटिका में बनाए गए जॉइन ऑपरेशन की तुलना में तेज़ होते हैं। जॉइनर परिवर्तन.
- यदि संभव हो तो जोड़ने से पहले डेटा को सॉर्ट करें, क्योंकि इससे जोड़ने के दौरान किया जाने वाला डिस्क I/O कम हो जाता है।
- कम पंक्तियों वाली तालिका को मुख्य तालिका बनाएं।
तीसरा बिंदु वह है जिसे अक्सर नजरअंदाज कर दिया जाता है। इंटीग्रेशन सर्विस मास्टर सोर्स को कैश करती है, इसलिए छोटी टेबल को मास्टर के रूप में नामित करने से वह कैश छोटा रहता है।
लुकअप रूपांतरण
एक लुकअप या तो प्रत्येक पंक्ति के लिए डेटाबेस से एक बार क्वेरी करता है या मेमोरी में एक कैश बनाता है, और दोनों ही तरीके एक छोटे, बेहतर अनुक्रमित लुकअप स्रोत को पुरस्कृत करते हैं।
- किसी कॉलम के लिए इंडेक्स बनाएं तालिका देखो जिसका उपयोग लुकअप कंडीशन में किया जाता है। चूंकि मिलान डेटा को खोजने के लिए लुकअप टेबल से क्वेरी की जाएगी, इसलिए इंडेक्स जोड़ने से परफॉर्मेंस में सुधार होगा।
- यदि संभव हो तो, लुकअप ट्रांसफ़ॉर्मेशन का उपयोग करने के बजाय डेटाबेस में जॉइन का उपयोग करें। जैसे-जैसे डेटाबेस जॉइन तेज़ होंगे, प्रदर्शन बढ़ेगा।
- लुकअप टेबल से अनावश्यक कॉलम हटाएँ और केवल आवश्यक कॉलम ही रखें। इससे डेटाबेस से अतिरिक्त कॉलम लाने का ओवरहेड कम हो जाएगा।
एग्रीगेटर रूपांतरण
An एग्रीगेटर यह डेटा को पंक्तियों को समूहित करते समय कैश में रखता है, इसलिए डेटा की मात्रा को कम करने वाली कोई भी चीज कैश की आवश्यकता को कम कर देती है।
- डेटा को एग्रीगेट करने से पहले उसे फ़िल्टर करें। यदि आप मैप में फ़िल्टर ट्रांसफ़ॉर्मेशन का उपयोग कर रहे हैं।pingइसके बाद एग्रीगेटर का उपयोग करने से पहले डेटा को फ़िल्टर करें, क्योंकि इससे अनावश्यक एग्रीगेशन ऑपरेशन कम हो जाएंगे।
- एग्रीगेटर ट्रांसफॉर्मेशन में उपयोग किए जाने वाले पोर्ट की संख्या सीमित करें। इससे एग्रीगेटर ट्रांसफॉर्मेशन द्वारा कैश में संग्रहीत डेटा की मात्रा कम हो जाएगी।
इनफॉर्मेटिका में सेशन-लेवल ट्यूनिंग
जब मानचित्रping स्वयं तो यह साफ-सुथरा है, शेष लाभ सेशन प्रॉपर्टीज़ से मिलते हैं। इन सेटिंग्स को एक-एक करके बदलना उचित है, और प्रत्येक बदलाव के बाद एक टाइमर रन करना चाहिए, क्योंकि इनमें से कई सेटिंग्स मेमोरी के बदले गति को प्राथमिकता देती हैं।
| की स्थापना | यह क्या नियंत्रित करता है? | इसे कब बदलना है |
| डीटीएम बफर आकार | एकीकरण सेवा द्वारा स्रोत और लक्ष्य डेटा ब्लॉकों के लिए आवंटित कुल मेमोरी | जब सेशन कई विभाजन, स्रोत या लक्ष्य संभालता है तो यह संख्या बढ़ जाती है। |
| Buffer ब्लॉक का आकार | एक व्यक्तिगत मेमोरी ब्लॉक का आकार | असामान्य रूप से बड़ी पंक्तियों के लिए वृद्धि; भौतिक स्मृति सीमित होने पर कमी |
| प्रतिबद्धता अंतराल | कमिट जारी होने से पहले कितनी पंक्तियाँ लिखी जाती हैं? | जब राइटर थ्रेड डेटाबेस चेकपॉइंट्स की प्रतीक्षा में अपना समय व्यतीत करता है, तब इसे उत्पन्न करें। |
| पुशडाउन अनुकूलन | मानचित्र का कितना भागping लॉजिक को SQL में परिवर्तित किया जाता है और डेटाबेस द्वारा निष्पादित किया जाता है। | इसका उपयोग तब करें जब स्रोत और लक्ष्य दोनों एक ही शक्तिशाली डेटाबेस पर स्थित हों। |
Buffer मेमोरी अनुमान के बजाय दस्तावेजीकृत गणना का पालन करती है। इंटीग्रेशन सर्विस प्रत्येक स्रोत और लक्ष्य विभाजन के लिए कम से कम दो ब्लॉक आवंटित करती है, इसलिए सत्र बफर ब्लॉकों की संख्या (कुल स्रोत + कुल लक्ष्य) को दो से गुणा करने पर प्राप्त होती है, और डीटीएम बफर का आकार उस ब्लॉक संख्या को बफर ब्लॉक आकार से गुणा करके 0.9 से विभाजित करने पर प्राप्त होता है।
पुशडाउन ऑप्टिमाइज़ेशन के प्रति सावधानी बरतनी चाहिए। यह तभी उपयोगी होता है जब डेटाबेस वास्तव में इंटीग्रेशन सर्विस मशीन से तेज़ हो और ट्रांसफॉर्मेशन लॉजिक को व्यक्त किया जा सके। एसक्यूएलजो लॉजिक ट्रांसलेट नहीं हो सकता, वह सेशन में ही रह जाता है, इसलिए लाभ अक्सर अपेक्षा से कम होता है। इसे डिफ़ॉल्ट रूप से सक्षम करने के बजाय, पहले और बाद में मापें।
