Google BigTables (और अन्य एकीकृत DBs) पर प्रदर्शन परीक्षण प्राप्त करें और रखें


17

डेटाबेस संचालन पर प्रोग्रामेटिक प्रदर्शन परीक्षण करने के लिए कुछ प्रभावी तरीके क्या हैं, खासकर ऐसे वातावरण में जहां डेटाबेस स्वयं समर्पित उपकरण प्रदान नहीं करते हैं?

उदाहरण के लिए, Google App Engine में, पूरे पृष्ठ-लोड का मूल्यांकन एक ऑपरेशन के रूप में किया जाता है जिसमें विशिष्ट डेटाबेस ऑपरेशन शामिल हो सकते हैं। यह समस्या SQLite और अन्य एकीकृत DBs में भी मौजूद है। जैसा कि पूरी तरह से अमूर्त करना मुश्किल है (समतुल्य) चयनों और आवेषणों का परीक्षण करने की आवश्यकता है, क्या इन प्रकार के प्रश्नों पर अधिक गहन निदान करने के लिए कोई अनुशंसित डेटाबेस उपकरण हैं?


क्या आपके पास प्रश्न में डेटाबेस तक सीधी पहुंच है?
स्टिंगर्वाज

हां, मैं ऐप लिख रहा हूं। और जब ऐप प्रदर्शन एक अलग सवाल है, तो मैंने जो कुछ लिखा है, उसमें कुछ बहुत ही गंभीर प्रदर्शन हिट हो रहे हैं।
ब्रायन बॉसुन-स्टैंटन

कभी-कभी आंखों की एक दर्जन से अधिक जोड़े एक बेहतर एक प्रश्न विश्लेषक से निदान हो सकता है ... (ठीक नहीं है कि अक्सर)
jcolebrand

@ ब्रायन मुझे लगता है कि आप इस प्रकार के प्रश्न के साथ स्टैकओवरफ़्लो पर बेहतर करेंगे क्योंकि यह डीबीए एक से अधिक प्रोग्रामिंग प्रश्न है।
IAMIC

@ आईएनसी ड्रैट। मैं एक पूरे के रूप में प्रदर्शन के बजाय बड़े आकार के आधार पर प्राप्त करने की कोशिश कर रहा हूं। लेकिन मैं हटा दूंगा कि लोग सवाल को उपयुक्त न समझें। (मैं यह भी सुनिश्चित करने की कोशिश कर रहा हूं कि साइट हर समय oracle / sql-server / mysql नहीं है)
ब्रायन बॉल्सन-स्टैंटन

जवाबों:


1

मुझे आपकी समस्या यह लगती है कि आप प्रदर्शन मेट्रिक्स का परीक्षण करने की कोशिश कर रहे हैं जो अंतर्निहित डीबी में अच्छी तरह से समर्थित नहीं हैं। इससे सिस्टम पर प्रदर्शन की तुलना करना बहुत मुश्किल हो जाता है क्योंकि अंतर्निहित दृष्टिकोण बहुत अलग हैं। मुझे नहीं लगता कि सेब की तुलना सेबों से करना संभव है, जैसा कि मुझे नहीं लगता कि आप सेब के सेबों की तुलना आरडीबीएमएस प्रकार के तरीकों से ओआरडीबीएमएस प्रकार के दृष्टिकोणों से कर सकते हैं। प्रदर्शन की चिंताएं बहुत अलग हैं और यदि स्टोनब्रेकर सही है कि टीपीसी-सी परीक्षणों के लिए एक ORDBMS को अनुकूलित करना बिंदु से चूक जाता है, तो सिस्टम के लिए जो आगे भी अलग हैं यह असंभव होने जा रहा है। (मुझे लगता है कि वह वहीं है, हालांकि, केवल जहां ORDBMS कार्यक्षमता खेल में आती है।)

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

हालाँकि, db बेंचमार्किंग को बेहतरीन परिस्थितियों में सार्थक बनाना बहुत मुश्किल है और जब आप डिसिमिलर सिस्टम की तुलना कर रहे हैं तो इसे सामान्य करना असंभव हो जाता है।


0

Appstats ऐप इंजन पर प्रदर्शन को मापने के लिए महत्वपूर्ण उपकरण है। यह प्रत्येक आरपीसी के लिए उपयोग किए गए समय को दिखाएगा, जिसमें एक चित्रमय चार्ट में डेटास्टोर, मेकचे, यूरालचेज़ और मेल अनुरोध शामिल हैं। आम तौर पर अनुरोध एक "सीढ़ी" के रूप में दिखाई देते हैं जहां प्रत्येक अनुरोध उस बिंदु पर शुरू होता है जो पिछले अनुरोध समाप्त हो गया था, अगली पंक्ति में नीचे।

यदि आप ndb में उन्नत अतुल्यकालिक अनुरोधों का उपयोग करते हैं, तो आप वास्तव में अनुरोधों को समानांतर में देख सकते हैं।

यह उपकरण मेरे लिए यह देखने में बहुत मददगार रहा है कि समय कहाँ बिताया जा रहा है और प्रश्नों का अनुकूलन कैसे किया जा सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.