2012-03-19 7 views
21

शायद मैंने किसी भी तरह से मोंगोडीबी को गलत तरीके से कॉन्फ़िगर किया है, लेकिन भारी भार के तहत भी मुझे इसे एक से अधिक कोर का उपयोग नहीं किया जाता है। उदाहरण के लिए, शीर्ष वर्तमान में दिखा रहा है:क्या मोंगोडीबी किसी भी तरह से एक कोर तक सीमित है?

Tasks: 145 total, 1 running, 144 sleeping, 0 stopped, 0 zombie 
Cpu0 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 
Cpu1 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 
Cpu2 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 
Cpu3 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 
Mem: 41182768k total, 40987476k used, 195292k free, 109956k buffers 
Swap: 2097144k total, 1740288k used, 356856k free, 28437928k cached 

    PID USER  PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND                   
16297 mongod 15 0 521g 18g 18g S 99.8 47.2 2929:32 mongod                   
    1 root  15 0 10372 256 224 S 0.0 0.0 0:03.39 init  

वहाँ कुछ मैं मोंगो अधिक प्रभावी ढंग से अन्य कोर का उपयोग करने के लिए कर सकते हैं? यदि यह प्रासंगिक है, तो मेरे पास वर्तमान में एक बड़ा एम/आर चल रहा है जो ऐसा लगता है कि "प्रतीक्षा" मोड में बहुत से पढ़े गए प्रश्न हैं।

उत्तर

28

मोंगोडीबी पढ़ने के संचालन के लिए बहु-कोर मशीन पर सभी कोरों को संतृप्त कर सकता है, लेकिन लिखने के संचालन और मानचित्र-कम करने के लिए मोंगोडीबी केवल एक कोर प्रति मोंगोड प्रक्रिया का उपयोग कर सकता है।

सिंगल-कोर मैपरेडस के लिए सीमा जावास्क्रिप्ट दुभाषिया के कारण है जो मोंगोडीबी उपयोग करता है। यह ऐसा कुछ है जिसे भविष्य में तय किया जाना चाहिए, लेकिन अंतराल में आप MapReduce निष्पादित करने के लिए हडोप का उपयोग कर सकते हैं और परिणाम को अपने मोंगोडीबी डेटाबेस में सेट कर सकते हैं।

मिश्रित परिणामों को देखा गया एक और विकल्प उदाहरण के लिए प्रत्येक कोर के लिए एक एकल मोंगोड प्रक्रिया चलाने के लिए है, यह एक डेटाबेस के लिए प्रदर्शन में वृद्धि नहीं करेगा जब तक कि वे एक शर्मीली सेटअप में चलाने के लिए कॉन्फ़िगर नहीं किए जाते हैं।

+0

क्या यह पिछले मार्च के बाद से बदल गया है? – UpTheCreek

+1

मुझे अभी भी लगता है कि यह मामला है - http://stackoverflow.com/questions/4407336/mongodb-utilizing-multi-cpu-server-for-a-write-heavy-plication –

+2

मई 30, 2014 तक (मोंगो के साथ 2.6.1) मुझे अभी भी केवल एक सीपीयू कोर का उपयोग किया जा रहा है। – arun

संबंधित मुद्दे