प्रत्येक डेवलपर अपने स्वयं के देव स्टैंड चाहता है। प्रत्येक परीक्षक अपनी स्वयं की परीक्षण पीठ चाहता है। और पूर्व-उत्पादन में हर विशेषज्ञ अपना खुद का स्टैंड चाहता है - अंत में सब कुछ जांचने और ठेस में प्रक्षेपण का पूर्वाभ्यास करने के लिए। जब ये सभी विशलिस्ट प्रसंस्करण में परिवर्तित हो जाते हैं - बैंक की सबसे बड़ी और सबसे सक्रिय प्रणालियों में से एक - अवसंरचना लागत आपको अपना सिर खरोंच कर देती है और "विकल्प" खोजती है। इस पोस्ट में हमें क्या मिला, इसके बारे में बताएंगे।
हमारी कंपनी में प्रसंस्करण डेटाबेस की मात्रा लगभग 6 टीबी है। डेटाबेस की एक प्रति पर, डेवलपर्स एक-दूसरे के साथ हस्तक्षेप करते हैं, इसलिए आधारों द्वारा कब्जा किए गए स्थान की वास्तविक मात्रा तेजी से और आनुपातिक रूप से बढ़ती है। हालांकि कितनी तेजी से ... एस्कॉर्ट सेवा के लिए बहुत तेज है और उन लोगों के लिए पर्याप्त तेजी से नहीं है जिन्हें डेटाबेस की प्रतियों की आवश्यकता है। और यहाँ क्यों है।
परीक्षण के लिए, यह आवश्यक है कि परीक्षण स्टैंड पूरी तरह से उत्पादन के वर्तमान संस्करण के अनुरूप हो (यही बात प्री-प्रोडक्शन स्टैंड पर भी लागू होती है)। सिस्टम का मुख्य बैकअप पूरे दिन के लिए कॉपी किया जाता है, फिर स्टैंड पर तैनात किया जाता है। इन लंबे ऑपरेशनों के दौरान, स्टैंड अनुपलब्ध हैं, इसलिए वीकेंड और छुट्टियों पर नकल तब की जाती है जब कोई भी स्टैंड के साथ काम नहीं करता है। हमें 1 से 5 दिन की देरी होती है। प्रतिलिपि प्रक्रिया पर प्रारंभिक रूप से सहमत होने के लिए, इसमें भी समय लगता है - हमारे पास कई परीक्षण बेंच हैं, आमतौर पर तीन से छह तक। हम स्टैंड बेकार समय को समन्वित करने के लिए 2-3 दिन जोड़ते हैं। अनुमोदन के लिए व्यवस्थापक से पहले, आवेदन अभी भी कतार में है। कुल मिलाकर, हमें बहुत बड़ी देरी हुई।
क्या डेल्फिक्स की मदद की
क्या प्रक्रिया को गति दे सकता है और अंतरिक्ष को बचा सकता है? डेटाबेस वर्चुअलाइजेशन। हमने अलग-अलग विकल्पों पर विचार किया: ओरेकल स्नैपक्लोन, नेटएपी + ओरेकल क्लाउड, बस सरणियों पर स्नैपशॉट। सब कुछ जटिल सेटअप की आवश्यकता है। Oracle समाधान, इसके अलावा, केवल Oracle डेटाबेस के साथ काम करते हैं।
फिर मेरी नज़र डेल्फ़िक्स पर पड़ी। इसे लागू करना आसान है, यह विभिन्न डेटाबेस - ओरेकल, एसक्यूएल सर्वर, डीबी 2, साइबेस एएसई का समर्थन करता है। सभी कार्यों के लिए एक इंटरफ़ेस प्रदान किया गया है। इसके माध्यम से, डेवलपर्स और परीक्षक स्वतंत्र रूप से अपनी प्रतियों का प्रबंधन कर सकते हैं - अपडेट, सेव / रिस्टोर स्टेट, स्टॉप / स्टार्ट, आदि। सीआई / सीडी सिस्टम या उनकी प्रक्रियाओं के साथ एकीकरण के लिए एक एपीआई और सीएलआई भी है।
खुद डेल्फीक्स की तैनाती में बहुत लंबा समय नहीं लगता है - कई घंटे। स्रोत को बहुत लंबे समय तक जोड़ा जा सकता है, यहां समय आकार के लिए आनुपातिक है। हमारे मामले में, स्रोत डेटाबेस की बिक्री प्रति थी, और इसके कनेक्शन को लगभग एक दिन लग गया था। डेटाबेस क्लोन के लिए स्रोत और सर्वर तैयार करने के लिए विशेष श्रम की आवश्यकता नहीं होती है। लक्ष्य सर्वर पर, आपको उपयुक्त ORACLE_HOME इंस्टॉल करना होगा, और कनेक्ट करने के लिए एक विशेष उपयोगकर्ता भी बनाना होगा। आभासी परीक्षण प्रतियों के लिए, हम उन्हीं सर्वरों का उपयोग करते हैं जिनमें पहले भौतिक प्रतियां थीं।
डेल्फ़िक्स आपको किसी भी समन्वय के बिना लगभग वास्तविक समय में टेस्ट स्टैंड बनाने की अनुमति देता है, क्योंकि स्टैंड एक दूसरे से पूरी तरह से अलग हैं। कुछ समय केवल डेटाबेस को वर्तमान स्थिति में अपडेट करने पर खर्च किया जाता है - 20 मिनट से कई घंटों तक, किसी भी दिन का कोई सवाल नहीं है।
हम उत्पाद के लिए यथासंभव करीब से स्थिति में तनाव परीक्षण करने की कोशिश करते हैं। यदि शारीरिक डिस्क पर ठेस - तो लोड भी खड़े होते हैं। इस मामले में, डेल्फ़िक्स वी 2 पी बटन मदद करता है, जो आपको आभासी से "ईमानदार" डेटाबेस बनाने की अनुमति देता है।

डिस्क स्थान को बचाने के लिए, हमारे डेल्फीक्स डैशबोर्ड की रीडिंग, निश्चित रूप से, धोखा दे रही है - मात्रा में 73 गुना कमी बहुत शानदार है। हमारे प्रसंस्करण में, 2 सप्ताह (प्रति दिन 200 जीबी) के लिए दैनिक स्नैपशॉट और संग्रहीत लेनदेन लॉग के साथ बेचने की एक प्रतिलिपि 4.5 टीबी डिस्क स्थान पर रहती है। एक और 1.5 टीबी - 50 से 500 जीबी तक के नौ क्लोन, जिनमें से प्रत्येक दैनिक स्नैपशॉट के इतिहास को संग्रहीत करता है। कुल मिलाकर, 6 टीबी प्राप्त होती है।
हम एक और 15% खाली स्थान (900 जीबी) जोड़ते हैं ताकि डेल्फ़िक्स सामान्य रूप से काम कर सके। इस प्रकार, केवल 7 टीबी के बारे में खर्च करने पर, हम पिछले दो सप्ताह में किसी भी समय प्रासंगिक डेटा के साथ एक परीक्षण प्रति प्राप्त कर सकते हैं।
पहले, 6 टीबी में डेटाबेस की नौ भौतिक प्रतियां संग्रहीत करने के लिए, हमें 54 टीबी (या ~ 20 टीबी को स्टोरेज पर 2-3 बार खाते में संपीड़न की आवश्यकता होती है) की आवश्यकता थी। और, नई प्रणाली के विपरीत, यहां डेवलपर्स इन प्रतियों का प्रबंधन नहीं कर सकते थे और पिछले राज्यों को पुनर्स्थापित कर सकते थे - जब डेटा नष्ट हो गया था, तो यह केवल बिक्री की प्रतिलिपि से पुनः लोड करना संभव था।
डेल्फ़िक्स आपको विभिन्न परियोजनाओं के लिए एक ही कंटेनर की विभिन्न शाखाओं को जल्दी से बनाने की अनुमति देता है - और यह सब कम से कम समय में। डेवलपर्स भ्रष्ट डेटा से डरते नहीं हैं, वे वापस रोल कर सकते हैं और अपनी पिछली स्थिति को बहाल कर सकते हैं। यह एक प्रदर्शन को बढ़ावा देता है।
लेकिन बारीकियां हैं ...
डेल्फीक्स से इंप्रेशन ज्यादातर सकारात्मक हैं, हालांकि सब कुछ सही नहीं है। सबसे बड़ी समस्या डिस्क का उपयोग करना है। प्रत्येक डेटा ब्लॉक को सभी आभासी प्रतियों के लिए केवल एक बार संग्रहीत किया जाता है, और जब तक सभी आभासी प्रतियां ब्लॉक का उपयोग करना बंद नहीं कर देती हैं, तब तक इसे हटाया नहीं जा सकता है। यहां संगठनात्मक समस्याएं उत्पन्न हो सकती हैं - सभी उपयोगकर्ता अपने स्टैंड के छोटे जीवन चक्र का समर्थन करने के लिए तैयार नहीं हैं। यदि परीक्षण बेंच पुरानी कॉपी पर रहती है, तो मैं उसे बेच दूंगा। हम डिस्क का विस्तार करके इस मुद्दे को बड़े पैमाने पर हल करते हैं, जो सेवा को बाधित किए बिना किया जा सकता है। हम यह सुनिश्चित करते हैं कि 15% खाली स्थान हमेशा बचा रहे। यदि यह छोटा होता है, तो सिस्टम आभासी प्रतियों के साथ किसी भी ऑपरेशन को करना बंद कर देगा। यद्यपि आधार स्वयं उपलब्ध रहेंगे।
गहन डिस्क I / O के साथ सिस्टम के लिए, नेटवर्क बैंडविड्थ एक सीमित कारक होने की संभावना है। विशिष्ट लोड प्रोफ़ाइल के आधार पर, सिस्टम वर्चुअलाइजेशन के साथ बेहतर काम करना शुरू कर सकता है। लोड के आधार पर, औसत db फ़ाइल अनुक्रमिक रीड लेटेंसी 5-10 ms है, जो औद्योगिक प्रणालियों के लिए भी बहुत अच्छा है।
डेल्फ़िक्स "क्लासिक" ड्राइव किसी भी तरह से जुड़े हुए हैं जो ईएसएक्स का समर्थन करते हैं, और विक्रेता के पास अधिकतम प्रदर्शन के लिए यह करने की सिफारिशों की एक सूची है। हम सैन का उपयोग करते हैं। सिस्टम स्वयं उन डिस्क को प्रस्तुत करता है जिन पर वर्चुअल डेटाबेस फाइलें स्थित हैं, केवल एनएफएस प्रोटोकॉल के माध्यम से। इस कारण से, आपको चैनल की बैंडविड्थ और इसकी भीड़ के बारे में सावधान रहने की आवश्यकता है। हमारे मामले में, यह डिस्क एरे पर डेल्फ़िक्स के लिए केवल डेटा फ़ाइलों को रखने के लिए समझ में आता है ताकि बैंक में कोई गतिविधि वर्चुअल डेटाबेस के लिए I / O गति को प्रभावित न करे।
अब हम डेलफिक्स 5.1.9 पर काम कर रहे हैं, लेकिन संस्करण 5.2 को देखें - इसमें उपयोगकर्ता इंटरफ़ेस फ्लैश छोड़ दिया है और विक्रेता के अनुसार, बहुत अधिक सुविधाजनक हो गया है। डेलिफ़िक्स ने हमारे सहयोगियों को प्रभावित किया, और प्रसंस्करण के बाद, हम डेवलपर्स की इस प्रणाली में प्रोफ़ाइल, सीआरएम और इंटरनेट बैंकिंग को स्थानांतरित करने पर विचार कर रहे हैं।