मैं एक ग्रेफाइट चार्ट को प्रस्तुत करने की कोशिश कर रहा हूं जिसने कई अलग-अलग मैट्रिक्स के हिटकॉउट की राशि का चलना बढ़ाया है यह लक्ष्य. मैं उम्मीद करता हूं कि उस लक्ष्य के चलने वाले लाभ। भी अच्छी तरह से काम करेंगे। फिर भी, मुझे डरा हुआ कोई डेटा इमेज नहीं मिलती इसके बजाय जेएसएएन प्रारूप का आउटपुटिंग इस मामले में उपयोगी जानकारी प्रदान नहीं करता है, दुर्भाग्यवश, बस लौट रहा है.मैं ग्रेफाइट में ऊपर दिए गए योग की चलती औसत की गणना कैसे कर सकता हूं मैंने भी शुभकामनाएं के साथ निम्नलिखित की कोशिश की है.तुम्हारी मदद के लिए धन्यवाद. ग्राफाना नहीं खुद को गणना, यह सिर्फ एक बैकएंड पूछता है और अच्छे चार्ट खींचता है, इतनी सारी क्षमताएं आपके बैकेंड पर पूरी तरह से निर्भर करती हैं जबकि ग्रेफाइट विंडोिंग फ़ंक्शंस का समर्थन करता है जैसे चलती औसत, InfluxDB वर्तमान में इसे समर्थन नहीं करता है.वहाँ पर influxdb में औसत स्थानांतरित करने के लिए बहुत सारे अनुरोध हैं। वेब आप अपने 1 को छोड़ सकते हैं और इस टिकट में प्रगति को ट्रैक कर सकते हैं। संभावित, अभी तक इतना आसान नहीं है, एक कस्टम स्क्रिप्ट क्रॉन, डेमन, जो कुछ भी एमए का पूर्व-कैलोक्यूट करें ग्राफिक इफेक्सडीबी सीरीज़। जीफाणा एक बढ़ते हुए ऐवज को जोड़ने का समर्थन करता है, मुझे डॉक्स में इसे खोजने में भी कठिन समय था, लेकिन आप फीचर परिचय पृष्ठ पर इसका उपयोग कुछ हद तक देख सकते हैं। सामान्य है, ग्राफ शीर्षक पर क्लिक करें, संपादित करें, मीट्रिक जोड़ें ग्रेफाइट प्रलेखन में वर्णित अनुसार बढ़ते हुए औसत। पिछले अंकों की एक निश्चित संख्या, या एक समय अंतराल पर एक मीट्रिक या मीट्रिक की चलती औसत। एक मेट्रिक या वाइल्डकार्ड श्रृंखला लेता है, उसके बाद नंबर डायल या एक उद्धृत स्ट्रिंग 1hour या 5min जैसे समय की लंबाई समय स्वरूपों के उदाहरणों के लिए रेंडरपेई में देखें ग्राफ पर प्रत्येक बिंदु के लिए पूर्ववर्ती डेटापेपर्स का औसत ग्राफ ग्राफ के आरंभ में सभी पिछला डेटापथों को कोई नहीं पर सेट किया जाता है। Graphite 1 दो बहुत ही सरल कार्य जो समय के साथ बदलते हैं और उन्हें रेखांकित करते हैं, इन्हें एक ही काम करने के लिए बहुत सारे सॉफ़्टवेयर लिखे गए हैं, जो कि ग्रेफाइट को अद्वितीय बनाता है, यह यह कार्यक्षमता प्रदान करता है एक नेटवर्क सेवा के रूप में जो दोनों का उपयोग करना आसान और अत्यधिक स्केल योग्य है, ग्राफ़ाइट में डेटा को खिलाने के लिए प्रोटोकॉल काफी सरल है कि आप कुछ मिनटों में इसे हाथ से करने के लिए सीख सकते हैं, न कि आप वास्तव में चाहते हैं, लेकिन यह एक सभ्य लिटमस टेस्ट सादगी के लिए रेखांकन ग्राफ़ और डेटा अंक प्राप्त करना उतना ही आसान है जितना यूआरएल लाया जा रहा है यह अन्य सॉफ्टवेयर के साथ ग्रेफाइट को एकीकृत करने के लिए बहुत ही स्वाभाविक बनाता है और ग्रेफाइट के सबसे सामान्य उपयोगों में से एक में वेब अनुप्रयोगों का निर्माण कर रहा है निगरानी और विश्लेषण के लिए डैशबोर्ड्स ग्रेफाइट एक उच्च मात्रा में ई-कॉमर्स पर्यावरण में पैदा हुआ था और इसकी डिज़ाइन इस माप को दर्शाती है कि डेटा के लिए स्केलेबिलिटी और रीयल-टाइम एक्सेस प्रमुख लक्ष्यों हैं। जो कि ग्रेफाइट को इन लक्ष्यों को प्राप्त करने की अनुमति देते हैं, उनमें विशेष डेटाबेस लाइब्रेरी और इसकी भंडारण प्रारूप, आईओ संचालन के अनुकूलन के लिए एक कैशिंग तंत्र, और ग्रेफाइट सर्वरों की क्लस्टरिंग का एक सरल लेकिन प्रभावी तरीका बल्कि यह बताता है कि ग्रेफाइट कैसे काम करता है आज, मैं समझाता हूँ कि ग्रेफाइट को शुरू में काफी निराशाजनक रूप से लागू किया गया था, मैंने किस समस्या में भाग लिया था और कैसे मैंने उनसे समाधान तैयार किए थे। 1 1 डाटाबेस पुस्तकालय समय-सीरीज़ डाटा भंडारण। गैराईट पूरी तरह से पायथन में लिखे गए हैं और इसमें तीन प्रमुख घटक एक डेटाबेस लाइब्रेरी नामक एक बैक-एंड डेमॉन नामक एक बैक-एंड डेमॉन नामक कार्बन और फ्रंट-एंड वेबएफ़ है जो ग्राफ़ को रेखांकित करता है और एक बुनियादी यूआई प्रदान करता है जबकि कंसोल विशेष रूप से ग्रेफाइट के लिए लिखा गया था, यह स्वतंत्र रूप से भी इस्तेमाल किया जा सकता है यह गोल - आरआरडीऊल द्वारा उपयोग किए जाने वाले रॉबिन-डाटाबेस, और केवल समय-श्रृंखला के आंकिक आंकड़े संग्रहीत करता है आमतौर पर हम डेटाबेस को सर्वर प्रक्रियाओं के रूप में मानते हैं जो क्लाइंट एप्लिकेशन सॉकेट पर बात करते हैं। हालांकि, आरआरडीऊल की तरह कानाफूसी, एक डाटाबेस लाइब्रेरी है, जो डाटा को संग्रहीत करने के लिए उपयोग की जाने वाली डाटाबेस लाइब्रेरी है। विशेष रूप से स्वरूपित फ़ाइलों में सबसे बुनियादी कानाफूसी अभियान एक नई कंसल्टें फ़ाइल बनाने, एक डेटा में नए डेटा बिंदु लिखने, और डेटा बिंदुओं को पुनः प्राप्त करने के लिए प्राप्त करने के लिए बनाए जाते हैं। Figur ई 7 1 बेसिक एनाटॉमी ऑफ द फिसर फाईल। जैसा कि चित्रा 7 में दिखाया गया है 1 फ़िसर फाइल में एक मेरडाटा युक्त एक हैडर अनुभाग होता है, इसके बाद एक या एक से अधिक संग्रह खंड होते हैं। प्रत्येक संग्रह लगातार डेटा पॉइंट्स का क्रम है जो टाइमस्टैम्प, वैल्यू युग्ज हैं एक अद्यतन या फ़ेच ऑपरेशन किया जाता है, फ़िसर फाइल में ऑफसेट निर्धारित करता है, जहां टाइमस्टैंप और संग्रह कॉन्फ़िगरेशन के आधार पर डेटा को लिखा जाना चाहिए या पढ़ा जाना चाहिए। 2 पिछला अंत एक साधारण संग्रहण सेवा। Graphite s back end is a डेमन प्रक्रिया जिसे कार्बन-कैश कहा जाता है जिसे आमतौर पर कार्बन के रूप में संदर्भित किया जाता है यह मुड़ पर बनाया गया है, पायथन मुड़ के लिए एक उच्च स्केलेबल इवेंट-संचालित आईओ ढांचा कार्बन को कुशलतापूर्वक बड़ी संख्या में ग्राहकों से बात करता है और कम ऊपरी चित्रा 7 2 कार्बन कानाफूसी और वेबएप के बीच डेटा प्रवाह को दिखाता है क्लाइंट एप्लिकेशन डेटा एकत्र करते हैं और इसे ग्रेफाइट बैक एंड को भेजते हैं, कार्बन जो फुसफुसाकर डेटा को भंडारित करता है यह डेटा तब हम हो सकता है ग्राफ़ाइट वेबपेज द्वारा ग्राफ़ उत्पन्न करने के लिए एड करें। फिगर 7 2 डेटा फ्लो। कार्बन का प्राथमिक कार्य ग्राहकों द्वारा प्रदान किए गए मैट्रिक्स के लिए डाटा पॉइंट्स को स्टोर करना है ग्रेफाइट शब्दावली में, एक मीट्रिक किसी भी औसत दर्जे का मात्रा है जो समय के साथ-साथ CPU उपयोग एक सर्वर या किसी उत्पाद की बिक्री की संख्या एक डेटा बिंदु बस एक टाइमस्टैम्प है, एक समय में एक विशेष मीट्रिक के माप के मान के अनुरूप वैल्यू युग्म मेट्रिक्स विशिष्ट रूप से उनके नाम से पहचाने जाते हैं, और साथ ही प्रत्येक मीट्रिक का नाम भी जैसा कि इसके डाटा पॉइंट ग्राहक अनुप्रयोगों द्वारा प्रदान किए जाते हैं एक सामान्य प्रकार का क्लाइंट अनुप्रयोग एक मॉनिटरिंग एजेंट है जो सिस्टम या एप्लिकेशन मैट्रिक्स को एकत्र करता है, और इसके संग्रहित मूल्यों को आसान भंडारण और दृश्यता के लिए कार्बन के लिए भेजता है ग्रेफाइट में मेट्रिक्स में फाइल सिस्टम पथ के समान सरल पदानुक्रम नाम हैं सिवाय इसके कि एक स्लैश या बैकस्लैश कार्बन के बजाय पदानुक्रम को सीधा करने के लिए किसी डॉट का उपयोग किसी भी कानूनी नाम का सम्मान करेंगे और हर मीट्रिक के लिए एक कंसट फ़ाइल बनाएगा इसकी आंकड़ों के मुताबिक, फ़िसर फ़ाइलें एक फ़ाइल सिस्टम पदानुक्रम में कार्बन की डेटा निर्देशिका के अंदर जमा होती हैं जो प्रत्येक मीट्रिक के नाम में डॉट-सीमांकित पदानुक्रम को दर्पण करती है, ताकि उदाहरण के लिए नक्शे हो। जब कोई क्लाइंट अनुप्रयोग डेटा बिंदुओं को ग्रेफाइट को भेजना चाहता है आमतौर पर बंदरगाह 2003 पर कार्बन के लिए एक टीसीपी कनेक्शन स्थापित करना चाहिए 2 ग्राहक ग्राहक के संबंध में कुछ भी नहीं भेजता है, ग्राहक एक सरल सादा-पाठ स्वरूप में डेटा बिंदु भेजता है, जबकि कनेक्शन को खोल दिया जा सकता है और फिर से उपयोग किया जा सकता है जरूरत प्रारूप प्रत्येक डेटा बिंदु में पाठ की एक पंक्ति होती है, जहां प्रत्येक पंक्ति में बिंदीदार मीट्रिक नाम, मान और एक यूनिक्स युग का टाइमस्टैम्प रिक्त स्थान से अलग होता है उदाहरण के लिए, एक क्लाइंट भेज सकता है। उच्च स्तर पर, सभी कार्बन डेटा के लिए सुनता है इस प्रारूप में और इसे डिस्क पर जितनी जल्दी हो सके कानाफूसी का उपयोग करके इसे संग्रहित करने का प्रयास करें बाद में हम स्केलेबिलिटी को सुनिश्चित करने के लिए उपयोग की जाने वाली कुछ युक्तियों के विवरणों पर चर्चा करेंगे और हम एक विशिष्ट हार्ड ड्राइव से बाहर का सर्वोत्तम प्रदर्शन प्राप्त कर सकते हैं। 7.3 एफआरओ एनटी एंड ग्राफ़ ऑन ऑन डिमांड। ग्रेफाइट वेबपॉप यूज़र्स को एक सरल यूआरएल-आधारित एपीआई के साथ कस्टम ग्राफ़ का अनुरोध करने की अनुमति देता है ग्राफिंग पैरामीटर जीईटी अनुरोध की क्वेरी-स्ट्रिंग में निर्दिष्ट हैं, और एक पीएनजी छवि प्रतिक्रिया में लौटा दी जाती है उदाहरण के लिए, यूआरएल मेट्रिक और पिछले 24 घंटों के डेटा के लिए 500 300 ग्राफ़ की समीक्षा करता है। दरअसल, केवल लक्ष्य पैरामीटर की आवश्यकता होती है अन्य सभी वैकल्पिक हैं और छोड़े गए यदि आपके डिफ़ॉल्ट मानों का उपयोग करें। Graphite डिस्प्ले विकल्पों की एक विस्तृत विविधता के साथ ही डेटा हेरफेर का समर्थन करता है सामान्य फ़ंक्शनल सिंटैक्स का पालन करने वाले फ़ंक्शन, उदाहरण के लिए, हम इस तरह हमारे पिछले उदाहरण में मीट्रिक के 10-अंक बढ़ते औसत को ग्राफ़ कर सकते हैं। फ़ंक्शंस को नेस्टेड किया जा सकता है, जटिल अभिव्यक्ति और गणना के लिए अनुमति देता है। यहाँ एक और उदाहरण है जो रनिंग कुल देता है बिक्री-प्रति-मिनट के प्रति-उत्पाद मैट्रिक्स का उपयोग करते हुए दिन के लिए बिक्री की। sumseries फ़ंक्शन एक टाइम-सीरीज़ की गणना करती है, जो कि प्रत्येक मेट्रिक पैटर्न का मिलान होता है, फिर इंटीग्रल एक चलने वाले कुल की गणना करता है प्रति मिनट की गणना की तुलना में यहां से यह कल्पना करना बहुत मुश्किल नहीं है कि ग्राफिक कैसे दिखता है और ग्राफ को जोड़कर बनाने के लिए एक वेब यूआई बना सकता है Graphite अपने स्वयं के कम्पोज़र यूआई के साथ आती है, चित्रा 7 3 में दिखाया गया है कि यह ग्राफ को संशोधित करने के लिए जावास्क्रिप्ट का उपयोग करता है यूआरएल मापदंडों के रूप में उपयोगकर्ता उपलब्ध सुविधाओं के मेनू के माध्यम से क्लिक करता है। फिक्चर 7 3 ग्रेफाइट के कम्पोज़र इंटरफेस 7 4 डैशबोर्ड। इसकी स्थापना के बाद से ग्रेफाइट वेब-आधारित डैशबोर्ड बनाने के लिए एक उपकरण के रूप में उपयोग किया गया है। यूआरएल एपीआई यह एक प्राकृतिक उपयोग के मामले बनाता है डैशबोर्ड बनाना एक HTML पृष्ठ को इस तरह से टैग से भरा बनाने के लिए उतना सरल है। हालांकि, सभी को हाथ से यूआरएल को क्राफ्टिंग पसंद नहीं है, इसलिए ग्रेफाइट के कम्पोज़र यूआई एक ग्राफ बनाने के लिए एक बिंदु और क्लिक विधि प्रदान करता है जिससे आप बस प्रतिलिपि बना सकते हैं। और यूआरएल पेस्ट करें जब दूसरे उपकरण के साथ युग्मित करें जिससे वेब पेजों जैसे विकी की तेजी से सृजन की अनुमति मिलती है, यह आसान हो जाता है कि गैर-तकनीकी उपयोगकर्ता अपने डैशबोर्ड को आसानी से बना सकते हैं। 5 एक स्पष्ट बोतललिंक. एक बार मेरे उपयोगकर्ता डैशबोआ आरडीएस, ग्रेफाइट को जल्दी से प्रदर्शन के मुद्दों की शुरुआत हुई, मैंने वेब सर्वर लॉग की जांच कर ली, यह देखने के लिए कि क्या अनुरोध नीचे बोगिंग कर रहे थे यह बहुत स्पष्ट था कि समस्या ग्राफ़िंग अनुरोधों की सरासर संख्या थी, वेबएप सीपीयू-बद्ध था, रेखांकन ग्राफ़ लगातार मैंने देखा बहुत सारे समान अनुरोध थे, और डैशबोर्ड्स को दोषी ठहराया गया था। आप में 10 ग्राफ़ के साथ एक डैशबोर्ड है और पृष्ठ एक मिनट में एक बार फिर से ताज़ा करता है हर बार उपयोगकर्ता अपने ब्राउज़र में डैशबोर्ड को खोलता है, ग्रेफाइट को 10 और अधिक अनुरोधों को संभालना पड़ता है प्रति मिनट यह जल्दी महंगा हो जाता है। एक आसान समाधान प्रत्येक ग्राफ़ को केवल एक बार रेंडर करना है और उसके बाद प्रत्येक उपयोगकर्ता को इसकी एक प्रति प्रदान करना है जेडैगो वेब फ्रेमवर्क जिस पर ग्रेफाइट बनाया गया है एक उत्कृष्ट कैशिंग तंत्र प्रदान करता है जो कि विभिन्न बैक एंड का उपयोग कर सकते हैं जैसे मेम्कैचड मेमकेचड 3 अनिवार्य रूप से एक नेटवर्क सेवा के रूप में प्रदान की जाने वाली एक हैश तालिका है, क्लाइंट अनुप्रयोग एक सामान्य हैश तालिका की तरह कुंजी-मान जोड़े को प्राप्त कर सकते हैं और सेट कर सकते हैं memcac का उपयोग करने का मुख्य लाभ हेड यह है कि एक महँगा अनुरोध का परिणाम जैसे कि ग्राफ़ को बहुत जल्दी से संग्रहित किया जा सकता है और बाद के अनुरोधों को संभालने के लिए बाद में पुनर्प्राप्त किया जा सकता है उसी पुरानी ग्राफ़ को हमेशा से लौटने से बचने के लिए, मेम्कैच को कम अवधि के बाद कैश्ड ग्राफ को समाप्त करने के लिए कॉन्फ़िगर किया जा सकता है यहां तक कि अगर यह केवल कुछ ही सेकंड हैं, ग्रेफाइट से बोझ उठाना बहुत ही जबरदस्त है क्योंकि डुप्लिकेट अनुरोध इतने सामान्य होते हैं। एक और आम मामला जो बहुत सारे रेंडरिंग अनुरोध बनाता है, जब कोई उपयोगकर्ता डिस्प्ले ऑप्शंस को tweaking करता है और कंपोज़र UI में फ़ंक्शन को लागू करता है हर बार उपयोगकर्ता कुछ बदलता है, ग्रेफाइट को ग्राफ फिर से तैयार करना चाहिए एक ही डेटा प्रत्येक अनुरोध में शामिल होता है, इसलिए यह ज्ञात होता है कि अंतर्निहित डेटा को memcache में भी रखा जाता है यह उपयोगकर्ता को उत्तरदायी यूआई रखता है क्योंकि डेटा को पुनः प्राप्त करने के चरण को छोड़ा गया है। 6 अनुकूलन मैं ओ। कल्पना करो कि आपके पास 60,000 मीट्रिक हैं जो आप अपने ग्रेफाइट सर्वर पर भेजते हैं, और इनमें से प्रत्येक मीट्रिक में एक डेटा बिन्दु प्रति मिनट है याद रखें कि प्रत्येक मीट्रिक में इसकी फाइल सिस्टम पर अपनी कानाफूसी फ़ाइल इसका मतलब है कि प्रत्येक मिनट 60,000 अलग-अलग फाइलों में कार्बन लिखना कार्य करना चाहिए, जब तक कार्बन एक मिलीसेकंड में एक फ़ाइल को लिख सकता है, तब तक इसे बनाए रखने में सक्षम होना चाहिए यह बहुत दूर नहीं है, लेकिन कहें आपके पास प्रत्येक मिनट में 600,000 मेट्रिक्स अपडेट होते हैं, या आपकी मेट्रिक्स हर दूसरे को अपडेट कर रहे हैं, या शायद आप पर्याप्त रूप से पर्याप्त भंडारण बर्दाश्त नहीं कर सकते जो भी हो, इनकमिंग डेटा बिंदुओं की दर को लिखने की दर से अधिक है जो आपके भंडारण को कैसे इस स्थिति को संभाला जाना चाहिए. इस दिनों में अधिक कठिन ड्राइव इन्हें धीमी गति से तलाशने वाला समय 4 है, दो अलग-अलग स्थानों पर आईओ संचालन करने में देरी, डेटा के निकट अनुक्रम लिखने की तुलना में इसका मतलब यह है कि हम जितने अधिक सन्निहित लेखन करते हैं उतना अधिक थ्रुपुट हम मिलते हैं लेकिन अगर हमारे पास हजारों फाइलें होती हैं जिन्हें अक्सर लिखे जाने की ज़रूरत होती है, और प्रत्येक लिखना बहुत छोटा होता है, केवल फुसफुसाहट डेटा बिंदु केवल 12 बाइट्स तो हमारे डिस्क निश्चित रूप से खर्च करने जा रहे हैं अपने समय की मांग करते हैं। इस धारणा के तहत काम करना है कि लेखन कार्यों की दर अपेक्षाकृत कम छत है, एकमात्र तरीका है कि हमारे डाटा पॉइंट आउटपुट को उस दर से अधिक बढ़ाने के लिए एक सिंगल लेखन ऑपरेशन में एक से अधिक डाटा पॉइंट लिखना यह संभव है क्योंकि कानाफूसी लगातार डिस्क पर लगातार डेटा बिंदु की व्यवस्था करता है इसलिए मैंने एक अद्यतन कंसोल में एक समारोह जोड़ा जो एक मीट्रिक के लिए डेटा बिंदुओं की एक सूची लेता है और एकल लिखने के ऑपरेशन में संगत डेटा बिंदुओं को सम्मिलित करता है हालांकि ये प्रत्येक लिखना बड़ा बनाते हैं, यह समय के बीच अंतर होता है दस डाटा अंक लिखने के लिए 120 बाइट्स बनाम एक डाटा बिन्दु 12 बाइट नगण्य है प्रत्येक लिखने के आकार से लेटेंसी को प्रभावित करने से पहले इसमें कुछ अधिक डेटा पॉइंट लगते हैं। आगे मैंने कार्बन में बफरिंग तंत्र को लागू किया प्रत्येक आने वाले डेटा बिंदु को मैप किया जाता है अपने मीट्रिक नाम के आधार पर एक पंक्ति के लिए और उसके बाद उस कतार में जोड़ा जाता है एक और सूत्र बार-बार सभी कतारों के माध्यम से दोहराता है और हर एक के लिए सभी डेटा खींचता है और उन्हें अद्यतन के साथ उपयुक्त कानाफूसी फ़ाइल में लिखता है हमारे उदाहरण पर वापस जा रहे हैं, अगर हमारे पास हर मिनट में 600,000 मीट्रिक अपडेट होते हैं और हमारा भंडारण केवल 1 लिखते प्रति मिलीसेकेंड में रखता है, तो कतार समाप्त हो जाएंगे औसत पर प्रत्येक के बारे में 10 डेटा अंक धारण करना एकमात्र संसाधन होता है, इसकी लागत हमें स्मृति है, जो अपेक्षाकृत भरपूर मात्रा में है क्योंकि प्रत्येक डेटा बिंदु केवल कुछ बाइट्स हैं.इस रणनीति को गतिशील रूप से कई डेटापेपर्स के रूप में बफर होते हैं, जो आने वाले डेटापेपर्स की दर से अधिक हो सकते हैं। आईओ संचालन की दर आपके भंडारण के साथ रख सकते हैं इस दृष्टिकोण का एक अच्छा फायदा यह है कि यह अस्थायी आईओ मंदी को संभालने के लिए एक लचीलापन जोड़ता है यदि सिस्टम को ग्रेफाइट के बाहर अन्य आईओ काम करने की आवश्यकता है तो यह संभावना है कि लिखने के ऑपरेशन कम हो जाएंगे, जिस स्थिति में कार्बन की कतारें बस बढ़ेगी, बड़ी कतारें, बड़े लिखते हैं चूंकि डाटा पॉइंट्स के समग्र थ्रूपूट डब्ल्यू की दर के बराबर है अनुष्ठान के संचालन के समय प्रत्येक लिखने का औसत आकार, कार्बन लंबे समय तक बनाए रखने में सक्षम होता है जब तक कि क्यूई के लिए पर्याप्त मेमोरी है कार्बन की क़तारकारी तंत्र को चित्रा 7 में दर्शाया गया है। 4. फिक्चर 7 4 कार्बन की क्व्यूइंग मेकेनिज़्म 7 7 इसे असली रखते हुए समय-समय पर डेटा बिन्दु कार्बन के आईओ को अनुकूलित करने का एक बढ़िया तरीका था, लेकिन मेरे उपयोगकर्ताओं को एक बार परेशान करने वाला साइड इफेक्ट देखने के लिए लंबे समय तक नहीं लेना हमारे उदाहरण पर दोबारा गौर करने के बाद, हमारे पास 600,000 मीट्रिक हैं जो हर मिनट अपडेट करते हैं और हम भंडारण केवल 60,000 लेखन कार्य प्रति मिनट के साथ ही रख सकते हैं इसका मतलब है कि हमारे पास किसी भी समय कार्बन की कतारों में बैठे लगभग 10 मिनट के लायक डेटा होगा एक उपयोगकर्ता के लिए इसका मतलब यह है कि वे ग्राफ़ाइट वेबपैड से अनुरोध किए गए आलेख सबसे ज्यादा गायब होंगे हाल के 10 मिनट का डेटा अच्छा नहीं है। ठीक से समाधान बहुत सीधा है, मैं बस कार्बन को एक सॉकेट श्रोता को जोड़ता हूं जो बफर किए गए डेटा बिंदु तक पहुंचने के लिए एक क्वेरी इंटरफ़ेस प्रदान करता है और फिर ग्रेफाइट वेब पीपी प्रत्येक समय जब डेटा को पुनः प्राप्त करने की जरूरत होती है, तो वेबपैड उस डेटा को जोड़ती है, जो डेटा के अंक को जोड़ता है, जो इसे डिस्क और वॉयला से प्राप्त आंकड़ों के अंक से प्राप्त करता है, ग्राफ़ वास्तविक समय मान्य है, हमारे उदाहरण में डेटा अंक अपडेट होते हैं मिनट के लिए और वास्तव में वास्तविक समय नहीं है, बल्कि यह तथ्य कि प्रत्येक डेटा बिंदु ग्राफ में तुरन्त पहुंच योग्य है, एक बार यह कार्बन द्वारा प्राप्त होता है, वास्तविक समय 7. 8 कर्नल, कैश और क्रैशस्ट्रॉफिक असफलता। अब, सिस्टम निष्पादन की एक प्रमुख विशेषता है कि ग्रेफाइट के स्वयं के प्रदर्शन पर निर्भर करता है IO लेटेंसी अब तक हमने मान लिया है कि हमारी प्रणाली में प्रति लिखने के लगभग 1 मिलीसेकेंड की औसत आईओ लेटेंसी है, लेकिन यह एक बड़ी धारणा है जिसके लिए थोड़ा गहरा विश्लेषण आवश्यक है हार्ड ड्राइव सिर्फ इतना नहीं कि एक रेड सरणी में दर्जनों डिस्क्स के साथ भी यह तेजी से यादृच्छिक पहुंच के लिए 1 मिलीसेकेंड से अधिक विलंबता होने की संभावना है, फिर भी अगर आप कोशिश करते हैं और जांच लें कि एक पुराने लैपटॉप कितनी जल्दी डिस्क पर एक पूरी किलोबाइट लिखें आपको मिलेगा कि लिखने वाला सिस्टम कॉल 1 मिलीसेकेंड से कम समय में क्यों देता है। जब भी सॉफ्टवेयर असंगत या अप्रत्याशित प्रदर्शन विशेषताओं, आमतौर पर या तो बफरिंग या कैशिंग को दोषी ठहराया जाता है इस मामले में, हम दोनों लिखने के लिए सिस्टम कॉल तकनीकी रूप से आपके डेटा को डिस्क पर लिखती है, यह केवल उन बफ़र में रखता है जो कर्नेल को बाद में डिस्क पर लिखता है यही कारण है कि लिखना कॉल आमतौर पर इतनी जल्दी देता है बफर डिस्क पर लिखा गया है, यह अक्सर बाद में पढ़ा जाता है के लिए कैश्ड रहता है इन दोनों व्यवहार, बफरिंग और कैशिंग, पाठ्यक्रम की याददाश्त की आवश्यकता होती है। कर्नेल डेवलपर्स, स्मार्ट लोगों के रूप में वे हैं, यह तय किया गया है कि उपयोगकर्ता के अंतरिक्ष मेमोरी का उपयोग करने का यह एक अच्छा विचार होगा कि वर्तमान में आबंटित करने के बजाय स्मृति पूरी तरह से यह एक बहुत ही उपयोगी प्रदर्शन बूस्टर निकलता है और यह भी बताता है कि क्यों कोई सिस्टम आपके सिस्टम में कितनी मेमोरी जोड़ते हैं, यह आमतौर पर लगभग शून्य डिग्री तक समाप्त हो जाएगा आईओ की एक मामूली राशि करने के बाद मेमोरी यदि आपके यूजर-स्पेस एप्लिकेशन उस मेमोरी का उपयोग नहीं कर रहे हैं तो आपकी कर्नेल शायद इस दृष्टिकोण का नकारात्मक पक्ष है कि यह मुफ्त मेमोरी को कर्नल से दूर ले जाया जा सकता है जब उपयोगकर्ता-स्पेस एप्लिकेशन का फैसला इसे अपने लिए अधिक मेमोरी आवंटित करने की जरूरत है कर्नेल का कोई विकल्प नहीं है लेकिन इसे छोड़ देना है, जो कुछ भी बफ़र वहां हो सकता है खोना है। तो क्या यह सब ग्रेफाइट के लिए क्या मतलब है हम सिर्फ कम आईओ लेटेंसी पर कार्बन की निर्भरता को हाइलाइट किया है और हम यह भी जानते हैं कि लिखने वाला सिस्टम कॉल केवल जल्दी ही देता है क्योंकि डेटा को केवल बफर में कॉपी किया जा रहा है जब कर्नेल को बफरिंग लिखना जारी रखने के लिए पर्याप्त मेमोरी नहीं होती तो क्या होता है लिखता है तुल्यकालिक हो जाता है और इस प्रकार बहुत धीमी गति से यह दर की एक नाटकीय गिरावट कार्बन के लेखन कार्यों, जो कार्बन की कतार बढ़ने का कारण बनता है, जो और भी अधिक स्मृति खाती है, कर्नेल को आगे भी भूखा लेता है अंत में, इस तरह की स्थिति आम तौर पर इसका परिणाम होती है कार्बन मेमोरी से बाहर चल रहा है या नाराज सिसडमिन द्वारा मारा जा रहा है। इस तरह की तबाही से बचने के लिए, मैंने कार्बन के लिए कई विशेषताएं जोड़ दी हैं जिसमें कॉन्फ़िगरेबल सीमाएं शामिल हैं, कितने डेटा बिंदुओं को कतारबद्ध और दर-सीमा पर कितनी तेजी से विभिन्न कानाफूसी परिचालनों पर किया जा सकता है। ये विशेषताएँ कार्बन को नियंत्रण से बाहर की ओर बढ़ने की रक्षा कर सकती हैं और इसके बजाय कुछ डेटा बिंदुओं को छोड़ने या अधिक डेटा बिंदुओं को स्वीकार करने से इंकार करने जैसे कम कठोर प्रभावों को लगाया जा सकता है, हालांकि, उन सेटिंग्स के लिए उचित मूल्य सिस्टम-विशिष्ट हैं और उनको धुन करने के लिए उचित परीक्षण की आवश्यकता होती है उपयोगी है लेकिन वे मौलिक रूप से समस्या को हल नहीं करते हैं, इसके लिए हमें अधिक हार्डवेयर की आवश्यकता होगी। 9 क्लस्टरिंग। एकाधिक ग्रेफाइट सर्वर बनाना एक यूज़र परिप्रेक्ष्य से एक सिस्टम प्रतीत होता है, कम से कम एक कार्यान्वयन के लिए वेबएप उपयोगकर्ता के इंटरैक्शन में मुख्य रूप से दो ऑपरेशन होते हैं मेट्रिक्स ढूंढते हैं और आमतौर पर एक ग्राफ के रूप में डेटा बिन्दु प्राप्त करते हैं वेब के संचालन को खोजने और प्राप्त करना पीपी एक लाइब्रेरी में छूटे हुए हैं जो बाकी कोडबेस से उनके कार्यान्वयन को सारबद्ध करता है, और वे आसानी से आसान कॉल के लिए अनुरोध हैंडलर्स के माध्यम से सामने आते हैं। ढूंढें ऑपरेशन उपयोगकर्ता-निर्दिष्ट प्रतिमान से मेल खाने वाली चीज़ों के लिए कानाफूसी डेटा की स्थानीय फाइल सिस्टम को खोजती है, जैसे कि एक फाइल सिस्टम ग्लोब जैसे एक्सटेंशन के साथ मैचों में फाइलें एक वृक्ष संरचना के रूप में होने पर, नोड ऑब्जेक्ट्स का एक संग्रह है, नोड ऑब्जेक्ट्स का एक संग्रह है, प्रत्येक नोड डायरेक्टरीज़ की शाखा या लीफ उप-कक्षाओं से लेकर शाखा नोड्स और कानाफूसी फ़ाइलों के अनुरूप है पत्ती नोड्स के लिए यह अमूर्त की यह परत आरआरडी फाइलों 5 और जीज़िपी फुसफुरी फाइलों सहित विभिन्न प्रकार के अंतर्निहित भंडारण का समर्थन करना आसान बनाता है। लीफ इंटरफ़ेस एक फैच विधि को परिभाषित करता है जिसका कार्यान्वयन पत्ता नोड के प्रकार पर निर्भर करता है कानाफूसी फ़ाइलों के मामले में केवल कानाफूसी लाइब्रेरी के स्वयं के फ़ेचर फ़ंक्शन के आस-पास एक पतली आवरण, जब क्लस्टरिंग समर्थन जोड़ा गया था, तो खोज समारोह को बढ़ाया गया था वेबमेट के कॉन्फ़िगरेशन में निर्दिष्ट अन्य ग्रेफाइट सर्वरों के माध्यम से केम रिमोट मिल कॉल इन कॉलों के परिणामों में शामिल नोड डेटा को रिमोट नोड ऑब्जेक्ट्स के रूप में लपेटा जाता है जो सामान्य नोड शाखा और लीफ इंटरफेस के अनुरूप होता है यह क्लस्टरिंग को बाकी के पारदर्शी बनाता है वेबएप का कोडबेस नोड के ग्रेफाइट सर्वर से डेटा बिंदुओं को प्राप्त करने के लिए एक दूरस्थ पत्ती नोड के लिए फ़ेच विधि को एक अन्य कॉल के रूप में लागू किया जाता है। इन सभी कॉल्स वेबएप के बीच बनाए जाते हैं, उसी तरह से क्लाइंट उन्हें कॉल करेगा, एक अतिरिक्त पैरामीटर निर्दिष्ट करते हैं कि ऑपरेशन केवल स्थानीय रूप से किया जाना चाहिए और सभी क्लस्टर में पुनर्वितरित नहीं किया जा सकता है जब वेबएप को ग्राफ़ रेंडर करने के लिए कहा जाता है, तो यह अनुरोध किया गया मेट्रिक्स को खोजने के लिए खोज ऑपरेशन करता है और कॉल डेटा प्राप्त करने के लिए प्रत्येक पर प्राप्त करता है यह काम करता है डेटा स्थानीय सर्वर, रिमोट सर्वर, या दोनों पर है यदि कोई सर्वर नीचे जाता है, तो रिमोट कॉल टाइमआउट काफी तेज़ी से होती है और सर्वर मा है एक छोटी अवधि के लिए सेवा से बाहर होने के रूप में, जो कि उपयोगकर्ता के दृष्टिकोण से कोई और कॉल नहीं किया जाएगा, खो डेटा के खोए हुए सर्वर पर जो कुछ भी आंकड़ा होता है, वह तब तक गायब हो जाएगा जब तक डेटा क्लस्टर में किसी अन्य सर्वर पर डुप्लिकेट नहीं किया जाता। 7 9 1 क्लस्टरिंग दक्षता का संक्षिप्त विश्लेषण। ग्राफिंग अनुरोध का सबसे महंगी हिस्सा ग्राफ को प्रतिपादित करता है प्रत्येक प्रतिपादन एक सर्वर द्वारा किया जाता है, जिससे कि अधिक सर्वर जोड़कर ग्राफ़ को प्रतिपादित करने की क्षमता को प्रभावी ढंग से बढ़ा देता है हालांकि, तथ्य यह है कि कई अनुरोध समाप्त हो जाते हैं क्लस्टर में हर दूसरे सर्वर को कॉल खोजने का मतलब है कि हमारी क्लस्टरिंग योजना इसे फैलाने के बजाय बहुत अधिक फ्रंट-एंड लोड साझा कर रही है, इस बिंदु पर हमने जो हासिल किया है, फिर भी, बैक-एंड लोड को वितरित करने का एक प्रभावी तरीका है प्रत्येक कार्बन उदाहरण स्वतंत्र रूप से संचालित होता है यह एक अच्छा पहला कदम है, क्योंकि अधिकांश समय के अंत के अंत से पहले एक अंतराल है, लेकिन स्पष्ट रूप से सामने का अंत क्षितिजन नहीं बढ़ाएगा इस दृष्टिकोण के साथ lly। आगे के अंत पैमाने को अधिक प्रभावी ढंग से बनाने के लिए, वेबपैकेज द्वारा बनाई गई दूरस्थ खोज कॉल की संख्या कम होनी चाहिए, सबसे आसान समाधान कैशिंग होता है बस के रूप में memcached पहले ही डेटा बिंदुओं को कैश करने के लिए उपयोग किया जाता है और ग्राफ़, इसका उपयोग अनुरोधों के परिणामों को कैश करने के लिए भी किया जा सकता है चूंकि मीट्रिक का स्थान बार-बार बदलने की बहुत कम संभावना है, यह सामान्य रूप से लंबे समय तक कैश किया जाना चाहिए, हालांकि, खोज परिणामों के लिए कैश टाइमआउट सेट करने का व्यापार बंद बहुत लंबा है जो पदानुक्रम में जोड़े गए नए मेट्रिक्स उपयोगकर्ता के रूप में तेज़ी से प्रदर्शित नहीं हो सकते हैं। 9 2 एक क्लस्टर में मेट्रिक्स वितरित करना। ग्रेफाइट वेबएफ़ एक क्लस्टर भर में समरूप है, इसमें प्रत्येक सर्वर कार्बन पर सटीक काम करता है हालांकि, प्रत्येक सर्वर पर आपके द्वारा भेजे जाने वाले डेटा के आधार पर सर्वर से सर्वर में भिन्न हो सकते हैं अक्सर कई अलग-अलग क्लाइंट कार्बन को डेटा भेजते हैं, इसलिए प्रत्येक ग्राहक के कॉन्फि को जोड़े को काफी परेशान करना होगा अपने ग्रेफाइट क्लस्टर के लेआउट के साथ आकृति का प्रयोग अनुप्रयोग मीट्रिक एक कार्बन सर्वर पर जा सकते हैं, जबकि व्यवसाय मीट्रिक अतिरंजितता के लिए कई कार्बन सर्वरों पर भेजे जा सकते हैं। इस तरह के परिदृश्यों के प्रबंधन को आसान बनाने के लिए, ग्रेफाइट कार्बन रिले नामक एक अतिरिक्त उपकरण के साथ आता है इसका काम बहुत सरल है, क्लाइंट से मीट्रिक डेटा को मानक कार्बन डीमन की तरह ठीक रूप से प्राप्त होता है, जो कि वास्तव में कार्बन-कैश नामित होता है लेकिन डेटा को संग्रहीत करने के बजाए, यह मेट्रिक नामों के नियमों का एक सेट लागू करता है जो यह निर्धारित करने के लिए कि कौन सा कार्बन-कैश सर्वर डेटा को रिले करते हैं प्रत्येक नियम में एक नियमित अभिव्यक्ति और गंतव्य सर्वर की सूची होती है, प्रत्येक डेटा बिंदु के लिए, नियम का मूल्यांकन क्रम में किया जाता है और पहला नियम जिसका नियमित अभिव्यक्ति मेट्रिक नाम से मेल खाता है इसका इस्तेमाल सभी ग्राहकों को करने की आवश्यकता है कार्बन-रिले के लिए डेटा और यह सही सर्वर पर समाप्त होगा। एक अर्थ में कार्बन-रिले प्रतिकृति कार्यक्षमता प्रदान करता है, यद्यपि यह अधिक सही रूप से इनपुट डी कहा जाएगा अनुरुप क्योंकि यह सिंक्रनाइज़ेशन के मुद्दों से निपट नहीं करता है यदि एक सर्वर अस्थायी रूप से नीचे जाता है, तो उस समय के लिए डाटा पॉइंट्स गायब हो जाएंगे जिसमें यह नीचे था लेकिन अन्यथा सामान्य रूप से कार्य करते हैं, प्रशासनिक स्क्रिप्ट्स हैं जो पुन: सिंक्रनाइज़ेशन प्रक्रिया का नियंत्रण छोड़ देती हैं सिस्टम प्रशासक के हाथों .10 10 डिज़ाइन रिफ्लेक्शंस। ग्रेफाइट पर काम करने में मेरा अनुभव ने मेरा एक विश्वास पुन: पुष्टि किया है कि स्केलेबिलिटी कम-स्तरीय प्रदर्शन के साथ बहुत कम है बल्कि इसके बजाय मैं कई बाधाओं में चला गया समग्र डिजाइन का एक उत्पाद है रास्ते में, लेकिन हर बार जब मैं प्रदर्शन में गति-अप के बजाय डिजाइन में सुधार की तलाश करता हूं, मुझे कई बार पूछा गया है कि मैंने जावा या सी के बजाय पायथाण में ग्रेफाइट क्यों लिखा, और मेरी प्रतिक्रिया हमेशा यही है कि मुझे अभी तक कोई भी नहीं किसी अन्य भाषा की पेशकश कर सकते हैं कि प्रदर्शन के लिए सच्ची आवश्यकता Knu74 में, डोनाल्ड नुथ ने मशहूर कहा कि समय से पहले अनुकूलन सभी बुराइयों की जड़ है जब तक हम मानते हैं कि हमारा कोड वाई गैर-तुच्छ तरीकों में विकसित करना जारी रखेगा, तो सभी अनुकूलन 6 कुछ समय से पहले से हैं। ग्रेफाइट की सबसे बड़ी ताकत और सबसे बड़ी कमजोरियों में से एक यह तथ्य है कि इसका बहुत ही कम वास्तव में पारंपरिक अर्थ में डिजाइन किया गया था और बड़े ग्रेफाइट धीरे-धीरे विकसित हुए, बाधाओं से बाधा उत्पन्न होती है, जैसा कि समस्याएं उत्पन्न हुईं कई बार बाधाएं अपेक्षा की गईं थीं और विभिन्न ग्रहणशील समाधान प्राकृतिक लगते थे लेकिन ये समस्याएं सुलझाने के लिए उपयोगी हो सकती हैं, जिनकी आप वास्तव में अभी तक नहीं हैं, भले ही ऐसा लगता है कि आप जल्द ही इसका कारण होगा आप बेहतर रणनीतियों के बारे में सोचने से वास्तविक विफलताओं का बारीकी से अध्ययन करने से और बहुत कुछ सीख सकते हैं समस्या सुलझना हमारे पास मौजूद दोनों अनुभवजन्य आंकड़ों से प्रेरित है और हमारे अपने ज्ञान और अंतर्ज्ञान में पाया गया है कि अपनी खुद की बुद्धि को संदेह करने से आपको पर्याप्त रूप से देखने के लिए मजबूर किया जा सकता है आपके अनुभवजन्य डेटा को अधिक अच्छी तरह से। उदाहरण के लिए, जब मैंने पहली बार कंसोल लिखा था, तो मुझे विश्वास हो गया था कि इसे सी के लिए गति के लिए फिर से लिखना होगा और यह कि मेरे पायथन i निष्पादन केवल एक प्रोटोटाइप के रूप में काम करेगा यदि मैं समय-समय पर किसी भी समय की कमी के साथ काम करता हूं तो मैंने बहुत ही अच्छी तरह से पायथन कार्यान्वयन को छोड़ दिया हो सकता है, लेकिन यह पता चला है कि IO सीपीयू की तुलना में पहले बहुत धीमा है, क्योंकि पायथन की कम दक्षता शायद ही बिल्कुल मायने रखती है व्यवहार में। हालांकि, मैंने कहा, हालांकि, विकासवादी दृष्टिकोण भी ग्रेफाइट इंटरफेस की एक बड़ी कमजोरी है, यह पता चला है, धीरे-धीरे विकास को अच्छी तरह से उधार न दे। एक अच्छा इंटरफ़ेस संगत है और भविष्यवाणी को अधिकतम करने के लिए सम्मेलनों को नियोजित करता है इस माप के द्वारा, ग्रेफाइट यूआरएल एपीआई वर्तमान में मेरी राय में एक उप-पैरा इंटरफ़ेस है विकल्प और फ़ंक्शंस समय के साथ हमला किए गए हैं, कभी-कभी संगति के छोटे द्वीपों का गठन करते हैं, लेकिन समग्र रूप से एक स्थिरता की वैश्विक भावना की कमी इस समस्या को हल करने का एकमात्र तरीका इंटरफेस के संस्करण के माध्यम से है , लेकिन यह भी कमियां हैं एक बार जब कोई नया इंटरफ़ेस डिज़ाइन किया गया हो, तो पुराना एक मानव परिशिष्ट I जैसे विकासवादी सामान के रूप में छुटकारा पाने के लिए अभी भी कठिन है टी एक दिन तक पर्याप्त हानिरहित लग सकता है जब तक कि आपके कोड को पुरानी इंटरफेस से जुड़ा हुआ एपेंडिसाइटिस याआ बग हो जाता है और आप को संचालित करने के लिए मजबूर हो जाता है अगर मैं ग्रेफाइट के बारे में एक चीज़ को जल्दी से बदलना चाहता हूं, तो यह बाहरी डिजाइन करने में बहुत अधिक ध्यान रखना होगा एपीआई, थोड़ी देर के लिए उन्हें विकसित करने के बजाय आगे सोचकर। कुछ हताशा के कारण ग्रेफाइट के एक अन्य पहलू को पदानुक्रमित मीट्रिक नामकरण मॉडल की सीमित लचीलापन है, हालांकि अधिकांश उपयोग मामलों के लिए यह काफी सरल और सुविधाजनक है, यह कुछ परिष्कृत प्रश्नों को बहुत मुश्किल बना देता है , भी असंभव, व्यक्त करने के लिए जब मैंने पहली बार ग्रेफाइट बनाने का सोचा था कि मैं शुरुआत से ही जानता था कि मैं ग्राफ़ बनाने के लिए एक मानव-संपादन योग्य यूआरएल एपीआई चाहता हूं 7 हालांकि मैं अभी भी खुश हूं कि ग्रेफाइट आज यह प्रदान करता है, मुझे डर है कि इस आवश्यकता पर बोझ है अधिक सरल सिंटैक्स वाला एपीआई जो जटिल अभिव्यक्तियों को बोझिल बना देता है एक पदानुक्रम एक मीट्रिक के लिए प्राथमिक कुंजी को निर्धारित करने की समस्या को बहुत सरल बनाता है क्योंकि एक पथ है अनिवार्य रूप से पेड़ में एक नोड के लिए एक प्राथमिक कुंजी नकारात्मक पक्ष यह है कि सभी वर्णनात्मक डेटा या स्तंभ डेटा को सीधे पथ में एम्बेड किया जाना चाहिए। एक संभावित समाधान श्रेणीबद्ध मॉडल को बनाए रखना है और इसके लिए अधिक उन्नत चयन सक्षम करने के लिए एक अलग मेटाडेटा डेटाबेस जोड़ना है एक विशेष सिंटैक्स के साथ मेट्रिक्स। 7 11 ओपन सोर्स बनना। ग्रेफाइट के विकास के बारे में सोचकर, मुझे अभी भी आश्चर्य है कि यह एक परियोजना के रूप में कितना दूर आया है और यह मुझे एक प्रोग्रामर के रूप में कितना दूर ले गया है प्रोजेक्ट जो कोड की केवल कुछ सौ लाइन थी, रेंडरिंग इंजन एक प्रयोग के रूप में शुरू हुआ, बस यह देखने के लिए कि क्या मैं लिख सकता हूं कि एक सप्ताह के अंत के दौरान हताशा से एक कंसर्ट लिखे जाने से पहले शो-स्टॉपर समस्या को हल करने के लिए लिखा गया था कार्बन को फिर से लिखा गया है क्योंकि मुझे याद रखना चाहिए कि एक बार जब मुझे 2008 में एक खुला स्रोत लाइसेंस के तहत ग्रेफाइट जारी करने की अनुमति दी गई थी, तो मुझे वास्तव में बहुत प्रतिक्रिया की उम्मीद नहीं हुई थी कुछ महीनों के बाद इसका उल्लेख CNET arti क्लेश जो स्लैशडॉट द्वारा उठाया गया था और परियोजना अचानक बंद हो गई और आज से सक्रिय हो गई है आज से ग्रेफाइट का इस्तेमाल करते हुए दर्जनों बड़े और मिड-साइज़ वाली कंपनियां समुदाय काफी सक्रिय हैं और एक उत्पाद तैयार होने से बहुत दूर रहना जारी है बहुत सारा प्रयोगात्मक कार्य किया जा रहा है, जो इसे काम करने के लिए मज़ेदार बनाता है और क्षमता से भरा होता है। एक और बंदरगाह है जहां पर सीरिजलाइज्ड ऑब्जेक्ट भेजे जा सकते हैं, जो सादा-पाठ प्रारूप से अधिक कुशल है यह केवल बहुत ही उच्च स्तर के लिए आवश्यक है ट्रैफिक के स्तर। सॉलिड-स्टेट ड्राइव आमतौर पर पारंपरिक हार्ड ड्राइव की तुलना में बहुत तेज समय लगता है। आरआरडी फाइलें वास्तव में शाखा नोड हैं क्योंकि वे कई डेटा स्रोतों को शामिल कर सकते हैं, आरआरडी डेटा स्रोत एक पत्ती नोड है। कुनथ विशेष रूप से कम-स्तरीय कोड अनुकूलन , मैक्रोस्कोपिक ऑप्टिमाइज़ेशन नहीं जैसे कि डिजाइन सुधार। यह खुले स्रोत के रूप में ग्राफ़ को खुद को मजबूर करता है किसी को भी इसे समझने या इसे संशोधित करने के लिए किसी ग्राफ के यूआरएल को देख सकते हैं।
No comments:
Post a Comment