मुझे अपने एसएसडी पर हैश सरणी के साथ 16/32 बाइट्स के लाखों कुंजी/मूल्य जोड़े संग्रहीत करने में कठिनाई हो रही है।क्योटो कैबिनेट/बर्कले डीबी: हैश टेबल आकार सीमाएं
क्योटो कैबिनेट के साथ: जब यह ठीक काम करता है, तो यह 70000 रिकॉर्ड/एस पर सम्मिलित होता है। एक बार यह गिरने के बाद, यह 10-500 रिकॉर्ड/एस तक चला जाता है। डिफ़ॉल्ट सेटिंग्स के साथ, लगभग दस लाख रिकॉर्ड के बाद ड्रॉप होता है। प्रलेखन को देखते हुए, यह सरणी में बाल्टी की डिफ़ॉल्ट संख्या है, इसलिए यह समझ में आता है। मैंने इस संख्या को 25 लाख तक बढ़ा दिया और वास्तव में, यह लगभग 25 लाख रिकॉर्ड तक ठीक काम करता है। समस्या यह है कि जैसे ही मैं 30 लाख या उससे अधिक की बाल्टी की संख्या को धक्का देता हूं, शुरुआत से ही डालने की दर 10-500 रिकॉर्ड्स/एस तक कम हो जाती है। क्योटो कैबिनेट डेटाबेस के निर्माण के बाद बाल्टी की संख्या बढ़ाने के लिए डिज़ाइन नहीं किया गया है, इसलिए मैं 25 लाख से अधिक रिकॉर्ड नहीं डाल सकता।
1/बाल्टी संख्या 25 एम से अधिक होने के बाद केसी की डालने की दर बहुत कम क्यों होगी?
बर्कले DB साथ : सबसे अच्छा गति मुझे मिल गया केसी से कुछ कम, 50000 रिकॉर्ड/s करीब, लेकिन अभी भी ठीक है। डिफ़ॉल्ट सेटिंग्स के साथ, केसी की तरह, गति लगभग दस लाख रिकॉर्ड के बाद अचानक गिर जाती है। मुझे पता है कि बीडीबी धीरे-धीरे अपनी बाल्टी की संख्या बढ़ाने के लिए डिज़ाइन किया गया है। इसके बावजूद, उसने प्रारंभिक संख्या को बढ़ाने की कोशिश की, हैशन्यूमेंट्स और फिलफैक्टर के साथ खेलना, लेकिन इनमें से किसी भी प्रयास ने स्थिति को सबसे खराब बना दिया। तो मैं अभी भी डीबीडी के साथ 1-2 लाख से अधिक रिकॉर्ड सम्मिलित नहीं कर सकता। मैंने गैर सिंक्रनाइज़ लेनदेन को सक्रिय करने की कोशिश की, चेकपॉइंट्स की विभिन्न दरों, बढ़ी हुई कैशों की कोशिश की। ड्रॉप डाउन में कुछ भी सुधार नहीं करता है।
2/बीडीबी की डालने की दर 1-2 मिलियन आवेषण के बाद क्या हो सकती है?
नोट: मैं जावा के साथ काम कर रहा हूँ, और जब गति गिरती है, CPU उपयोग करते हुए 100% पर जब सही गति से काम कर रहा 0-30% तक कम करती है।
नोट: प्रक्रिया को रोकना और सम्मिलन को फिर से शुरू करना कुछ भी नहीं बदलता है। तो मुझे नहीं लगता कि यह स्मृति सीमा या कचरा संग्रह से संबंधित है।
Thx।
आपका बीडीबी पर्यावरण कैसा दिखता है? क्या आप लेनदेन, प्रतिकृति आदि का उपयोग कर रहे हैं? इसके अलावा, क्या आप कुछ नमूना कोड पोस्ट कर सकते हैं? –
यह वर्तमान स्थिति है: [pastebin.com/bWJpbipZ ](http://pastebin.com/bWJpbipZ)। मैं 'डेटाबेस.पुट (लेनदेन, के, वी)' के साथ सम्मिलित करता हूं, 'डेटाबेस.get (लेनदेन, के, वी, लॉकमोड.डेफाल्ट) के साथ पढ़ें, और' पर्यावरण.चेकपॉइंट (शून्य) 'के साथ हर 500000 आवेषणों को चेकपॉइंट करें। –