MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

विंडोज़ की तुलना में लिनक्स पर मोंगोडब का प्रदर्शन बेहतर क्यों है?

पहला:विंडोज 2008 सर्वर पर उपलब्ध सभी फाइल सिस्टम बहुत ही अक्षम हैं। XFS या ext4 की तुलना में, जब Windows और Linux दोनों फ़ाइल सिस्टम अनुकूलित होते हैं, तो वे 40% तक धीमे होते हैं।

दूसरा:विलंबता एक मुद्दा हो सकता है। वर्तमान Linux सिस्टम पर नेटवर्क स्टैक W2008 सर्वर की तुलना में तेज़ है।

तीसरा:यदि आपके बॉक्स में फ़ायरवॉल चल रहा है, तो दूरस्थ पहुँच के लिए विलंबता और भी बड़ी समस्या बन जाती है। जबकि Linux' iptables इतना तेज़ और कुशल है कि फ़ायरवॉल उपकरणों का बड़ा हिस्सा इस पर आधारित है, विंडोज़ के लिए उपलब्ध फ़ायरवॉल विभिन्न कारणों से नहीं हैं।

प्लस:विंडोज़ रैम के साथ उतना कुशल नहीं है जितना कि लिनक्स है। MongoDB जितना संभव हो उतना RAM का उपयोग करता है (जिस बिंदु तक इसकी आवश्यकता होती है), उदाहरण के लिए RAM में अनुक्रमणिका फ़ाइलों को संग्रहीत करने (प्रतियां) के लिए। विंडोज उपलब्ध रैम का एक लिनक्स मशीन की तुलना में बहुत बड़ा हिस्सा लेता है। इसलिए अनुक्रमणिका फ़ाइलें RAM की तुलना में डिस्क से पढ़ी जा सकती हैं, जो कि परिमाण धीमी है।

निचला रेखा:विंडोज सिस्टम पर उत्पादन mongoDB चलाने के लिए यह वास्तव में एक बुरा विचार है।

संपादित करें

टिप्पणियों में अनुरोध के अनुसार:

  • फाइल सिस्टम गति के लिए:फाइल सिस्टम I/O प्रदर्शन की तुलना करना:RedHat Enterprise 6 बनाम Microsoft Windows Server 2012
  • अकुशल RAM उपयोग के लिए, हो सकता है कि आप इसे स्वयं जांचना चाहें। किसी दिए गए विंडोज सर्वर सिस्टम को निष्क्रिय करते समय कितनी रैम का उपयोग होता है? यह किसी दिए गए Linux सर्वर के निष्क्रिय होने की तुलना कैसे करता है? चलो अच्छा हो और मान लें कि विंडोज सर्वर को अपने जीयूआई के लिए सिर्फ 128 एम की जरूरत है - यह 128 एमबी बर्बाद हो गया है। 20 से गुणा किया जाता है, जो कि एक बड़ा क्लस्टर आकार नहीं है, हम 2.5 जीबी की बात कर रहे हैं - जो अधिक नहीं तो आसानी से एक कॉन्फिग सर्वर या आर्बिटर बना सकता है। और यह एक जीयूआई पर खर्च किया जाएगा, एक ऐसी प्रणाली के लिए जिसे शायद ही कभी एक की आवश्यकता होती है, यदि बिल्कुल भी। कठोर तथ्यों के अनुसार, आप शायद पढ़ना चाहें CPU और मेमोरी प्रदर्शन की तुलना:Red Hat Enterprise Linux 6 बनाम Windows Server 2012
  • नेटवर्क स्टैक की गति के लिए, कई स्रोत हैं, यहां दो हैं जिन्हें मैं संदर्भित करता हूं:
    • टीसीपी स्टैक का तुलनात्मक प्रदर्शन मापा गया , पुराने, लेकिन हम परिमाण के आदेशों की बात कर रहे हैं, जो कम से कम एक विचार देता है
    • नेटवर्क प्रदर्शन की तुलना करना:Red Hat Enterprise Linux 6 बनाम Windows Server 2012

आपने शायद पहचान लिया होगा कि मैंने प्रिंसिपल्ड टेक्नोलॉजीज की तीन रिपोर्टों का हवाला दिया था। जबकि मैं उनके साथ किसी भी तरह से संबद्ध नहीं हूं, आईएमएचओ ने उद्योग मानक बेंचमार्क का उपयोग करके आरएचईएल 6 और विंडोज सर्वर 2012 की तुलना करने में अच्छा काम किया है और दोनों ओएस को प्रश्न में कार्य के साथ-साथ बॉक्स ओएस का उपयोग करने के लिए स्पष्ट रूप से अनुकूलित किया है।

कोई यह तर्क दे सकता है कि यह तुलना यह साबित नहीं करती है कि सभी जीएनयू/लिनक्स वितरण विंडोज सर्वर 2012 की तुलना में तेज हैं, जिन सुविधाओं के बारे में हम बात कर रहे हैं वे लिनक्स कर्नेल द्वारा प्रदान की गई हैं और आमतौर पर इससे छेड़छाड़ नहीं की जाती है, इसलिए यह मान लेना सुरक्षित है कि समान सभी प्रमुख वितरणों से परिणाम की उम्मीद की जा सकती है।

लिनक्स के आंशिक प्रदर्शन लाभों के साथ (लिनक्स का टीसीपी स्टैक 'बड़े संदेश आकारों के लिए विंडोज सर्वर के लगभग 4 गुना तेज है, जो डेटाबेस अनुप्रयोगों में मामला होता है), मैं अपने दावे को नवीनीकृत करता हूं कि यह एक Windows सिस्टम पर MongoDB उत्पादन चलाने के लिए एक बहुत बुरा विचार™ है।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB समूह और कुंजी के रूप में आईडी के साथ योग

  2. मोंगोडीबी के लिए सी # ड्राइवर:सीमा + गिनती का उपयोग कैसे करें?

  3. दस्तावेज़ का विशिष्ट भाग प्राप्त करें

  4. पाइमोंगो के साथ मोंगोडब को कैसे छाँटें?

  5. MongoDB:कुल $ प्रोजेक्ट स्थिर मान के साथ फ़ील्ड जोड़ें