डॉकर स्वयं बहुत कम ओवरहेड लगाता है, यह केवल मेजबान पर अन्य प्रक्रियाओं से प्रक्रिया को अलग कर रहा है। हालांकि, कंटेनर के प्रदर्शन को खराब करने के लिए आप बहुत सी चीजें कर सकते हैं:
- इसे Windows/MacOS के अंदर चलाएं, जबकि एम्बेडेड VM को पैरेंट OS की मेमोरी/CPU का केवल एक अंश दें।
- कंटेनर के अंदर CPU या मेमोरी संसाधनों को प्रतिबंधित करें।
- अपने होस्ट पर ढेर सारे कंटेनर लॉन्च करें। डॉकर कोई जादू नहीं है, यदि जावा के 10 इंस्टेंस प्रत्येक 2 गीगा रैम का उपयोग करते हुए होस्ट को कंटेनर के बाहर क्रॉल में लाते हैं, तो वे कंटेनर के अंदर बेहतर तरीके से नहीं चलेंगे।
- नेटवर्किंग जटिलताएं। प्रत्येक कंटेनर डिफ़ॉल्ट रूप से एक अलग नेटवर्क ब्रिज पर काता जाता है, जहां आईओ अतिरिक्त हॉप्स के साथ थोड़ा अधिक समय ले सकता है। और यदि आपका DNS ठीक से कॉन्फ़िगर नहीं किया गया है, तो आपको असफल लुकअप से अतिरिक्त विलंब दिखाई दे सकते हैं।
- डॉकर में डिफॉल्ट रूप से सीधे डिस्क एक्सेस जैसी दुर्लभ धातु की आवश्यकताओं की अनुमति नहीं है। आप विशिष्ट उपकरणों तक पहुंच प्रदान कर सकते हैं, लेकिन अन्यथा ऐप के कंटेनरीकृत संस्करण को जानबूझकर अलग कर दिया जाता है।
- मात्रा में डेटा कम प्रभावी स्थान पर हो सकता है। डिफ़ॉल्ट रूप से यह आपका /var/lib/docker फाइल सिस्टम है, लेकिन आप इसे आसानी से एक NFS माउंट पर इंगित कर सकते हैं जहां प्रदर्शन और भी खराब होगा।
- गलत कॉन्फ़िगर किया गया DB, उदा. अनुक्रमणिका बनाना भूल गए हैं।
संक्षेप में, कंटेनर में समस्या होने की संभावना नहीं है, लेकिन सुनिश्चित करें कि आप सेब से सेब की तुलना कर रहे हैं।