MongoDB में एक ग्लोबल राइट लॉक है। . इसका मतलब है कि एक बार में आपका केवल एक अपडेट आगे बढ़ सकता है।
db.serverStatus() कमांड आपको वैश्विक राइट लॉक की समस्याओं का निदान करने में मदद कर सकता है।
यहां कुछ चीज़ें दी गई हैं जिन्हें आप आज़मा सकते हैं:
1) सुनिश्चित करें कि आप मोंगोडब 2.0 का उपयोग कर रहे हैं। पुराने संस्करणों की तुलना में इसकी बेहतर संगामिति है। 2.2 में अभी तक बेहतर संगामिति होगी।
2) अपने लेखन को कतारबद्ध करें ताकि वे अतुल्यकालिक हों, और एक ही धागे का उपयोग करके उन सभी को निष्पादित करें। यह संगामिति के साथ मदद कर सकता है, क्योंकि आम तौर पर केवल एक धागा एक समय में वैश्विक लेखन लॉक का उपयोग करने का प्रयास करेगा।
3) यदि आप नवीनतम संस्करण का उपयोग कर रहे हैं, और आप अपने लेखन को सिंगल थ्रेडेड नहीं बना सकते हैं, तो शार्डिंग पर विचार करें। साझाकरण केवल आकार से कहीं अधिक के लिए है; यह समवर्ती लिखने के लिए कम से कम उतना ही महत्वपूर्ण है। यदि आप शार्प करते हैं, तो प्रत्येक खंड अपने स्वयं के वैश्विक राइट लॉक के साथ अपनी प्रक्रिया में चलेगा। यह पूरे सिस्टम को और अधिक लिखने की प्रक्रिया करने की अनुमति देगा।