Moodle एक बहुत ही प्रसिद्ध शिक्षण प्रबंधन प्रणाली है जिसका उद्देश्य शैक्षिक संगठनों को उनकी ऑनलाइन शिक्षण गतिविधियों को व्यवस्थित करने में मदद करना है। जैसा कि आप कल्पना कर सकते हैं, COVID-19 के कारण 2020 में ऑनलाइन बदलाव को देखते हुए, ऐसी प्रणालियाँ बहुत लोकप्रिय हो गईं और उन प्रणालियों को संभालने का भार काफी बढ़ गया है। कई प्रशासक सोच रहे हैं कि मूडल इंस्टॉलेशन का बैकअप लेने वाले डेटाबेस के प्रदर्शन को कैसे बेहतर बनाया जाए। सौभाग्य से, यदि आप मूडल 3.9 या बाद के संस्करण चला रहे हैं तो आपके पास कुछ अंतर्निहित विकल्प हैं जो प्रदर्शन को बढ़ावा देने में आपकी सहायता कर सकते हैं। इस ब्लॉग पोस्ट में हम आपको दिखाएंगे कि यह कैसे करना है।
सबसे पहले, हम मानते हैं कि आपके पास एक एकल डेटाबेस नोड के साथ एक मूडल इंस्टॉलेशन है। आइए उन कदमों पर एक नज़र डालें जो आप अपने मूडल डेटाबेस के प्रदर्शन को बेहतर बनाने के लिए उठा सकते हैं। बेशक, हम यहां बताए गए सभी चरणों को हाथ से पूरा कर सकते हैं। हम उसके लिए ClusterControl का उपयोग करने जा रहे हैं क्योंकि हम अपने समय को महत्व देते हैं।
यह मानते हुए कि आपने ClusterControl स्थापित कर लिया है, पहला कदम मौजूदा डेटाबेस नोड को आयात करना होगा।
पासवर्ड रहित कुंजी का उपयोग करते हुए SSH कनेक्टिविटी मौजूद होनी चाहिए। हमने इसे /root/.ssh/id_rsa में स्थित SSH कुंजी के साथ रूट उपयोगकर्ता के रूप में स्थापित किया है।
अगले चरण के रूप में हमने सुपरयूजर और उसके पासवर्ड को परिभाषित किया। हमने info_schema क्वेरीज़ को भी सक्षम किया है (जैसा कि हम जानते हैं कि हमारे पास दसियों हज़ार टेबल नहीं हैं) और दोनों ऑटो-रिकवरी विकल्प हैं ताकि क्लस्टर कंट्रोल जरूरत पड़ने पर हमारे डेटाबेस को रिकवर कर सके।
एक संक्षिप्त क्षण के बाद हमारा डेटाबेस समूहों की सूची में दिखाई देता है:
अब, हम और दासों को जोड़कर अपने क्लस्टर का विस्तार करना शुरू कर सकते हैं। हमें यह सुनिश्चित करना चाहिए कि मास्टर के पास बाइनरी लॉग सक्षम हैं। यदि नहीं, तो इसे ClusterControl से किया जा सकता है। कृपया ध्यान रखें कि बाइनरी लॉग को सक्षम करने के लिए पुनरारंभ की आवश्यकता होती है, इसलिए आप शायद इसे ऐसे समय में करना चाहते हैं जब लोड सबसे कम हो और, आदर्श रूप से, आपके मूडल प्लेटफॉर्म के उपयोगकर्ताओं को कुछ सिर दे।
हमने उस नोड का आईपी (या होस्टनाम) पास किया है जिसका हम उपयोग करना चाहते हैं एक गुलाम के रूप में। ClusterControl इसे हमारे मास्टर नोड के डेटा के साथ प्रोविज़न करेगा। हम बैकअप का उपयोग दास को प्रोविज़न करने के लिए भी कर सकते हैं लेकिन हमने अभी तक ClusterControl का उपयोग करके कोई बैकअप नहीं लिया है।
इंस्टॉलेशन में कुछ मिनट लगेंगे, हम देख कर प्रगति का अनुसरण कर सकते हैं ClusterControl में जॉब लॉग पर।
एक गुलाम को हमारे सिस्टम में जोड़ने से कोई फर्क नहीं पड़ता। हमें मूडल को वास्तव में इसका उपयोग शुरू करने के लिए कहना होगा। सौभाग्य से, मूडल में एक विशेषता है जो आपको दास नोड्स को कॉन्फ़िगर करने देती है और फिर "सुरक्षित" लेखन उन्हें पुनर्निर्देशित किया जाएगा, मास्टर पर लोड को कम करने और समग्र प्रदर्शन में सुधार होगा।
कॉन्फ़िगरेशन फ़ाइल (config-dist.php) में आप 'dboptions' सरणी के 'केवल पढ़ने के लिए' अनुभाग देख सकते हैं। उस स्थान पर आप एक या अधिक स्लेव नोड्स को परिभाषित कर सकते हैं जिनका उपयोग मूडल द्वारा ट्रैफ़िक भेजने के लिए किया जाएगा।
'readonly' => [ // Set to read-only slave details, to get safe reads
// from there instead of the master node. Optional.
// Currently supported by pgsql and mysqli variety classes.
// If not supported silently ignored.
'instance' => [ // Readonly slave connection parameters
[
'dbhost' => '10.0.0.132',
'dbport' => '', // Defaults to master port
'dbuser' => '', // Defaults to master user
'dbpass' => '', // Defaults to master password
],
[...],
],
जैसा कि आप देख सकते हैं, हम एक से अधिक स्लेव होस्ट जोड़ सकते हैं, जिससे हम सुरक्षित रीड्स को कई नोड्स में फैला सकते हैं, जिसे आप आसानी से ClusterControl से प्रोविजन कर सकते हैं और क्लस्टर पर लोड को कम कर सकते हैं।
यदि आप मूडल के लिए अधिक उन्नत, अत्यधिक उपलब्ध डेटाबेस सेटअप में रुचि रखते हैं, तो हमारे पास इस विषय पर कई ब्लॉग पोस्ट हैं, जो दूसरों के बीच वर्णन करते हैं कि आप बैकएंड के रूप में गैलेरा क्लस्टर के साथ मूडल का उपयोग कैसे कर सकते हैं। हमने मूडल के लिए अधिक उन्नत स्केलिंग तकनीकों का भी वर्णन किया है, जिसमें प्रॉक्सीएसक्यूएल लोड संतुलन शामिल है।
मूडल के साथ काम करने के बारे में अपने विचार और अनुभव हमें बताएं।