सार:
क्लाउडफ्लेयर ने हाल ही में अपने 1.1.1.1 सार्वजनिक DNS रिज़ॉल्वर द्वारा उपयोग की जाने वाली कैश मेमोरी को काफी कम कर दिया है, जिससे पूरे नेटवर्क में लगभग 100TB मेमोरी खाली हो गई है। इस अनुकूलन में सर्वर हार्डवेयर को बदलना या मेमोरी मॉड्यूल को हटाना शामिल नहीं है, बल्कि DNS डेटा को कैश करने की सॉफ़्टवेयर स्टोरेज विधि में सुधार करके इसे प्राप्त किया जाता है।

यह काम मुख्य रूप से बड़े अनानास के इर्द-गिर्द घूमता है। बिग पाइनएप्पल क्लाउडफ्लेयर का कैशिंग प्लेटफॉर्म है जो 1.1.1.1 रिज़ॉल्वर, डीएनएस फ़ायरवॉल और कई अन्य डीएनएस सेवाओं का समर्थन करता है। क्लाउडफ्लेयर सिस्टम इंजीनियर सेबेस्टियन न्यूटबूम ने एक तकनीकी ब्लॉग में रस्ट कोड बेस में पांच समायोजन पेश किए, जिससे एकल विशिष्ट DNS कैश रिकॉर्ड द्वारा कब्जा किए गए स्थान को 953 बाइट्स से घटाकर 420 बाइट्स कर दिया गया।
अनुकूलित सिस्टम चलने की गति में भी सुधार किया गया है। क्लाउडफ्लेयर ने कहा कि कैश इंसर्शन थ्रूपुट 625,000 आइटम प्रति सेकंड से बढ़कर 893,000 आइटम प्रति सेकंड हो गया, और क्वेरी विलंबता 828 नैनोसेकंड से घटकर 670 नैनोसेकंड हो गई। मई के मध्य से जुलाई की शुरुआत तक तैनाती के दौरान, प्रति इंस्टेंस 99वीं प्रतिशत मेमोरी का उपयोग 9.3GB से घटकर 5.3GB हो गया।
क्लाउडफ्लेयर का दावा है कि बिग पाइनएप्पल हर समय 250 बिलियन से अधिक डीएनएस रिकॉर्ड को कैश करता है। इतने बड़े पैमाने पर, प्रति रिकॉर्ड बर्बाद हुई मेमोरी की थोड़ी सी मात्रा भी एक महत्वपूर्ण राशि बन जाती है। कंपनी का अनुमान है कि कैश प्रविष्टि में व्याप्त प्रत्येक अनावश्यक बाइट के लिए, संपूर्ण सर्वर क्लस्टर 250GB से अधिक अतिरिक्त मेमोरी की खपत करता है।
महत्वपूर्ण परिवर्तनों में से एक में रस्ट में Vec और String प्रकार शामिल हैं। इन कंटेनरों को गतिशील रूप से विस्तार करने के लिए डिज़ाइन किया गया है, इसलिए वास्तविक डेटा के अलावा, क्षमता जैसी अतिरिक्त जानकारी सहेजी जाती है। हालाँकि, कैश में दर्ज होने के बाद DNS रिकॉर्ड को विस्तारित करने की आवश्यकता नहीं है। इसके बाद क्लाउडफ्लेयर ने इन संरचनाओं को निश्चित आकार के बॉक्स वाले स्लाइस से बदल दिया, जिससे मेटाडेटा हटा दिया गया जो अब उपयोगी नहीं था। कंपनी के अनुसार, इस समायोजन से अकेले 15TB से अधिक मेमोरी बचाई गई।
इंजीनियरों ने मेमोरी में DNS प्रतिक्रियाओं को व्यवस्थित करने के तरीके को भी फिर से डिज़ाइन किया। पहले, बिग पाइनएप्पल प्रत्येक प्रतिक्रिया के लिए रिकॉर्ड सूचियों के तीन सेट सहेजता था; नया डिज़ाइन सभी रिकॉर्ड को एक ही बफ़र में रखता है, और फिर प्रत्येक रिकॉर्ड के स्थान की पहचान करने के लिए दो-बाइट ऑफ़सेट का उपयोग करता है।
कैश अब मालिकों के नामों को भी बरकरार नहीं रखता है जब वे केवल क्वेरी किए जा रहे डोमेन नाम के डुप्लिकेट होते हैं, बल्कि प्रतिक्रिया वापस आने पर इसे फिर से बनाया जाता है। इसके अतिरिक्त, सिस्टम इसके बजाय लंबाई उपसर्ग के साथ कच्चे डीएनएस लाइन प्रारूप बाइट्स का उपयोग करके रिकॉर्ड डेटा सहेजता है, जो पहले के डिजाइनों में व्यर्थ स्थान की समस्या को हल करता है। पहले, एक IPv4 A रिकॉर्ड, जो केवल 4 बाइट्स लेता था, 144 बाइट्स लेता था, जैसा कि अपेक्षाकृत दुर्लभ NAPTR रिकॉर्ड था, जो क्लाउडफ्लेयर द्वारा कैश किया गया सबसे बड़ा DNS रिकॉर्ड प्रकार था। चर-लंबाई वाले कच्चे डेटा प्रारूप पर स्विच करने से सबसे लंबे रिकॉर्ड के समान स्थान आरक्षित करने के लिए छोटे रिकॉर्ड की आवश्यकता समाप्त हो जाती है।
पूरे सर्वर क्लस्टर में पुनः प्राप्त क्लाउडफ्लेयर की 100टीबी मेमोरी लगभग 130 13वीं पीढ़ी के सर्वर की मेमोरी क्षमता के बराबर है। इनमें से प्रत्येक सर्वर 768GB DDR5-6400 मेमोरी से लैस है। क्लाउडफ्लेयर ने इस पीढ़ी के सर्वर के लिए 1152GB मेमोरी कॉन्फ़िगरेशन पर विचार किया, लेकिन अंततः उच्च क्षमता वाली मेमोरी की लागत का मूल्यांकन करने के बाद इसे छोड़ दिया।
इस मेमोरी स्पेस के साथ, क्लाउडफ़ेयर ने DNS कैश आकार का विस्तार करने की योजना बनाई है। स्थानीय स्तर पर अधिक रिकॉर्ड रखने से कैश हिट दरों में सुधार और आधिकारिक DNS सर्वरों पर अनुरोध ट्रैफ़िक कम होने की उम्मीद है।
यह पहली बार नहीं है जब क्लाउडफ्लेयर ने बड़े पैमाने पर मेमोरी दक्षता अनुकूलन किया है। पिछले साल, कंपनी ने रस्ट कोड में अनुरोधों को संसाधित करने के लिए जिम्मेदार FL2 परत को भी फिर से लिखा था। सर्वर मेमोरी की कीमतें बढ़ने के साथ, सॉफ़्टवेयर अनुकूलन के माध्यम से मौजूदा बुनियादी ढांचे की क्षमता को अनलॉक करना केवल हार्डवेयर जोड़ने की तुलना में अधिक लागत प्रभावी हो सकता है।
टिप्पणियाँ