2012-09-10 14 views
9

मेरी परियोजना के लिए कोड विकसित हो रहा है, नई अनुक्रमणिका स्थापित की जा रही हैं और मुझे यकीन है कि कुछ पुराने अब आवश्यक नहीं हैं। हालांकि इससे पहले कि मैं उन्हें छोड़ देता हूं कि कुछ भी धीमा हो या नहीं, मैं यह निर्धारित करना चाहूंगा कि कोई प्रोग्राम प्रोग्रामिंग या विश्लेषणात्मक तरीका यह निर्धारित करने के लिए है कि कोई सूचकांक अब और उपयोग किया जा रहा है या नहीं।यह बताने का कोई आसान तरीका है कि क्या mongodb अनुक्रमणिका अभी भी उपयोग की जा रही है या नहीं?

मुझे सिस्टम में कुछ भी नहीं दिख रहा है। इंडेक्स संग्रह, लेकिन आदर्श रूप से सूचकांक पर कुछ आंकड़े कहीं भी पहुंचते हैं! क्या यह मामला है?

+2

वहाँ एक सीधा मीट्रिक नहीं है प्रति इंडेक्स उपयोग की जानकारी (जैसा कि मोंगोडीबी 2.2.0 पर)। मोंगोडीबी मुद्दे कतार में ट्रैकिंग टिकट से जुड़े मीट्रिक से संबंधित कई सुझाव हैं: [SERVER-5828] (https://jira.mongodb.org/browse/SERVER-5828)। – Stennie

उत्तर

11

.explain() के साथ प्रश्नों को अंत में घुमाएं। यह देखने का एकमात्र सबसे उपयोगी तरीका है कि क्वेरी कैसे चल रही हैं: http://www.mongodb.org/display/DOCS/Explain

आप प्रोफाइलिंग भी चालू कर सकते हैं, और प्रोफाइल लॉग प्रविष्टियां आपको प्रत्येक क्वेरी के लिए इंडेक्स उपयोग देती हैं। हालांकि, अभी तक कोई कुल आंकड़े नहीं हैं। विशेष रूप से, यह आपको नहीं देगा कि कौन से इंडेक्स का उपयोग नहीं किया जा रहा है, केवल उस इंडेक्स का उपयोग किया जा रहा है (प्रत्येक क्वेरी के लिए)। (संपादित करें: मैं चाहिए की कल्पना की गई है कि - आप प्रोफाइलर से क्वेरी प्राप्त करने के लिए और फिर उस पर समझाने दर्दनाक का प्रकार मैन्युअल रूप से चलाते हैं।।) http://www.mongodb.org/display/DOCS/Database+Profiler

अद्यतन: बस mongolab से देखा; इन पंक्तियों के साथ एक दिलचस्प नई परियोजना की तरह दिखता है: http://blog.mongolab.com/2012/06/introducing-dex-the-index-bot/

अद्यतन: मैं, अनुक्रमित है कि उपयोग नहीं किया जाता के लिए जाँच करने प्रोफाइलर के माध्यम से कोई स्क्रिप्ट बनाने: https://github.com/wfreeman/indexalizer

+2

डेक्स बहुत अच्छा लगता है लेकिन अभी भी मुझे यह नहीं बताता कि कौन से इंडेक्स का उपयोग नहीं किया जाता है। यद्यपि इसे जांचने के लिए! तो यह थोड़ी देर के लिए प्रोफाइल करने के तरीके की तरह लगता है और फिर देखें कि कौन से इंडेक्स कभी नहीं दिखाई दिए। – Zugwalt

+0

हाँ, प्रोफाइलिंग शायद आपकी सबसे अच्छी शर्त है। असल में, मैंने इसे कुछ हद तक स्वचालित रूप से करने के लिए एक उपकरण लिखने पर विचार किया - शायद मुझे इसे फिर से तोड़ना चाहिए। –

+1

ठीक है, मैंने एक स्क्रिप्ट पर कुछ घंटे बिताए ... मेरे काफी सरल सिस्टम पर काम करना प्रतीत होता है। मुझे बताएं कि क्या इससे लाभ होता है। –

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

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