2013-08-14 14 views
8

मैंने केवल 1 संग्रह और दो सूचकांक वाले डीबी का डंप लिया। संग्रह में लगभग 6.5 मिलियन दस्तावेज थे। जब मैंने इसे बहाल करने की कोशिश की, तो मेरे आश्चर्य के लिए, प्रक्रिया दर्दनाक रूप से धीमी थी। के रूप में निम्नलिखित के रूप में कुछ आँकड़े:मोंगोरस्टोर दर्दनाक क्यों धीमा है?

Wed Aug 14 12:34:08.346   Progress: 333818/1378309050 0% (bytes) 
Wed Aug 14 12:34:11.077   Progress: 1530246/1378309050 0% (bytes) 
Wed Aug 14 12:34:26.177   Progress: 2714544/1378309050 0% (bytes) 
Wed Aug 14 12:34:30.145   Progress: 3355627/1378309050 0% (bytes) 
Wed Aug 14 12:34:34.504   Progress: 3895668/1378309050 0% (bytes) 
Wed Aug 14 12:34:53.246   Progress: 4334159/1378309050 0% (bytes) 
Wed Aug 14 12:34:56.318   Progress: 4963878/1378309050 0% (bytes) 
Wed Aug 14 12:34:59.545   Progress: 5617794/1378309050 0% (bytes) 
Wed Aug 14 12:35:08.042   Progress: 6923804/1378309050 0% (bytes) 
Wed Aug 14 12:35:16.424   Progress: 7342576/1378309050 0% (bytes) 
Wed Aug 14 12:35:23.168   Progress: 7987560/1378309050 0% (bytes) 
Wed Aug 14 12:35:29.703   Progress: 9295140/1378309050 0% (bytes) 
Wed Aug 14 12:35:38.582   Progress: 9943758/1378309050 0% (bytes) 
Wed Aug 14 12:35:43.574   Progress: 11128693/1378309050 0% (bytes) 
Wed Aug 14 12:35:46.008   Progress: 11982044/1378309050 0% (bytes) 
Wed Aug 14 12:35:50.134   Progress: 12421241/1378309050 0% (bytes) 
Wed Aug 14 12:35:54.548   Progress: 13166696/1378309050 0% (bytes) 
Wed Aug 14 12:35:58.152   Progress: 13837935/1378309050 1% (bytes) 

यह ऊपर डेटा से अनुमान लगाया जा सकता है, कुल डंप (bson में) तकरीबन 1.3 Gigs है। और यह mongorestore को निराशाजनक 110 सेकंड ले रहा है ताकि इसे 1% बहाल किया जा सके, जो 13 एमबी है।

अगर किसी के पास इसके लिए कोई स्पष्टीकरण है, तो कृपया मुझे बताएं। काश मैं अनजाने में कुछ गलत कर रहा हूं, क्योंकि ये आंकड़े इस शताब्दी में कंप्यूटिंग के मानकों की तुलना में बहुत धीमी हैं।

संपादित


मैं दो विकल्प के बाद, उम्मीद है वे प्रक्रिया में तेजी लाने जाएगा के साथ फिर से आदेश भागा:

--noobjcheck --noIndexRestore 

लेकिन मेरे आश्चर्य करने के लिए बहुत, प्रक्रिया अब और अधिक धीमी है !। यहां कुछ आंकड़े दिए गए हैं।

Wed Aug 14 13:13:53.750  going into namespace [temp_raw_tweet_db.tweets] 
Wed Aug 14 13:14:00.258   Progress: 871186/1378309050 0% (bytes) 
Wed Aug 14 13:14:04.424   Progress: 2070390/1378309050 0% (bytes) 
Wed Aug 14 13:14:07.482   Progress: 2921304/1378309050 0% (bytes) 
Wed Aug 14 13:14:11.895   Progress: 3647526/1378309050 0% (bytes) 
Wed Aug 14 13:14:57.028   Progress: 4984815/1378309050 0% (bytes) 
Wed Aug 14 13:15:01.015   Progress: 6202286/1378309050 0% (bytes) 
Wed Aug 14 13:15:05.051   Progress: 6797800/1378309050 0% (bytes) 
Wed Aug 14 13:15:08.402   Progress: 8133842/1378309050 0% (bytes) 
Wed Aug 14 13:15:12.712   Progress: 8872607/1378309050 0% (bytes) 
Wed Aug 14 13:15:15.259   Progress: 9964997/1378309050 0% (bytes) 
Wed Aug 14 13:15:19.266   Progress: 14684145/1378309050 1% (bytes) 
Wed Aug 14 13:15:22.364   Progress: 16154567/1378309050 1% (bytes) 
Wed Aug 14 13:15:29.627   Progress: 16754495/1378309050 1% (bytes) 
Wed Aug 14 13:15:35.225   Progress: 17726291/1378309050 1% (bytes) 
Wed Aug 14 13:15:39.447   Progress: 18333902/1378309050 1% (bytes) 
Wed Aug 14 13:15:43.717   Progress: 19055308/1378309050 1% (bytes) 
Wed Aug 14 13:15:46.481   Progress: 19305912/1378309050 1% (bytes) 
Wed Aug 14 13:15:49.902   Progress: 20038391/1378309050 1% (bytes) 
Wed Aug 14 13:15:53.868   Progress: 20389108/1378309050 1% (bytes) 
Wed Aug 14 13:15:58.578   Progress: 21127296/1378309050 1% (bytes) 
Wed Aug 14 13:16:03.706   Progress: 21837923/1378309050 1% (bytes) 
Wed Aug 14 13:16:56.512   Progress: 22092536/1378309050 1% (bytes) 
Wed Aug 14 13:16:59.035   Progress: 22583057/1378309050 1% (bytes) 
Wed Aug 14 13:17:02.313   Progress: 22817464/1378309050 1% (bytes) 
Wed Aug 14 13:17:05.044   Progress: 23178521/1378309050 1% (bytes) 
Wed Aug 14 13:17:26.023   Progress: 23434010/1378309050 1% (bytes) 
Wed Aug 14 13:17:39.161   Progress: 23670222/1378309050 1% (bytes) 
Wed Aug 14 13:17:42.846   Progress: 24049639/1378309050 1% (bytes) 
Wed Aug 14 13:17:59.125   Progress: 24284177/1378309050 1% (bytes) 
Wed Aug 14 13:18:02.722   Progress: 24515270/1378309050 1% (bytes) 
Wed Aug 14 13:18:06.827   Progress: 25018013/1378309050 1% (bytes) 
Wed Aug 14 13:18:09.234   Progress: 25253850/1378309050 1% (bytes) 
Wed Aug 14 13:18:14.282   Progress: 25617812/1378309050 1% (bytes) 
Wed Aug 14 13:18:46.296   Progress: 25983107/1378309050 1% (bytes) 
Wed Aug 14 13:18:51.303   Progress: 26604320/1378309050 1% (bytes) 
Wed Aug 14 13:18:55.500   Progress: 26971559/1378309050 1% (bytes) 
Wed Aug 14 13:19:00.656   Progress: 27444735/1378309050 1% (bytes) 
Wed Aug 14 13:19:04.100   Progress: 28064675/1378309050 2% (bytes) 

यह लगभग 4 मिनट ले जा रहा है 1% से 2% पर जाने के लिए। निश्चित रूप से यहां कुछ गड़बड़ है।

+3

1378 मिलियन रिकॉर्ड हैं, लेकिन आप दावा कर रहे हैं कि यह 6.5 मिलियन हो। आप mongorestore के --dbpath विकल्प को आजमा सकते हैं, लेकिन इसके लिए आपको मोंगोड को रोकना होगा। –

+2

सूचीबद्ध संख्या बाइट है, रिकॉर्ड नहीं – Zags

उत्तर

4

दुर्भाग्यवश, ये संख्या असामान्य नहीं हैं। 300 मिलियन के संग्रह पर मोंगोरस्टोर दिन लेता है।

आपको मूल रूप से दो विकल्प मिल गए हैं।

सबसे पहले, सिर्फ लंबे समय से चल लेने को बहाल करने और यह रातोंरात चलाएँ:

nohup mongoresotre [args] & 

दूसरा, अपने डेटाबेस निर्देशिका ही (डिफ़ॉल्ट/डेटा/डाटाबेस) के बजाय mongodump/mongoresotre का उपयोग करने में फ़ाइलों की प्रतिलिपि। यदि आप समय के लिए अपना डेटाबेस बंद कर सकते हैं, तो यह सबसे अच्छा है। अन्यथा, आपको फ़ाइल सिस्टम स्नैपशॉट्स या इसी तरह का उपयोग करना होगा। आधिकारिक मोंगो ब्लर्ब के लिए इसे देखें: http://docs.mongodb.org/manual/core/backups/

9

यह बहुत पुराना धागा है, लेकिन मुझे हाल ही में इसी तरह की समस्या हो रही थी, संभवतः विभिन्न कारणों से, और इस सवाल पर आया।

यदि आप एडब्ल्यूएस पर मोंगो चला रहे हैं, तो सही उदाहरण और वॉल्यूम प्रकारों का उपयोग करना सुनिश्चित करें।

टी-प्रकार के उदाहरणों में सीपीयू क्रेडिट होते हैं, जो बड़े mongorestore प्रक्रिया को चलाने के दौरान बाहर चला जाएगा। आपकी बहाली तेजी से शुरू हो जाएगी, फिर क्रॉल करने के लिए धीमा हो जाएगा ... यह वास्तव में कभी नहीं रुकता है, लेकिन इसे समाप्त होने में दिन लगेंगे।

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

मुझे उम्मीद है कि किसी की मदद करेगा।

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