डीबी धीमेपन के कारण की पहचान करने के लिए क्या किया जा सकता है?
जब मैंने सुबह क्वेरी चलाई तो यह जल्दी से चली और मुझे आउटपुट मिला।
जब मैं 1 घंटे के बाद एक ही प्रश्न चलाता हूं, तो इसमें 2 मिनट से अधिक समय लगता है।
इस धीमेपन को पहचानने के लिए क्या जाँच की जा सकती है?
सभी तालिकाओं को ठीक से अनुक्रमित किया गया है।
2 जवाब
यदि यह केवल एक ही क्वेरी है जो धीमी गति से चल रही है, तो EXPLAIN SELECT...
जैसा कि arex1337 द्वारा बताया गया है, आपको इसका कारण जानने में मदद कर सकता है।
यह उदा के आउटपुट को देखने लायक भी होगा। vmstat
क्वेरी चलाते समय बॉक्स पर यह देखने के लिए कि यह क्या कर रहा है - आपको यह महसूस करने में सक्षम होना चाहिए कि मशीन स्वैपिंग कर रही है, आईओ-बाउंड, सीपीयू-बाउंड इत्यादि।
top
से भी चेक करें ताकि CPU समय को प्रभावित करने वाली किसी भी दुष्ट प्रक्रिया का पता लगाया जा सके।
अंत में, यदि मशीन RAID का उपयोग कर रही है, तो यह संभव है कि, यदि कोई ड्राइव विफल हो गया है, तो RAID सरणी खराब स्थिति में हो सकती है, जो डिस्क एक्सेस को धीमा कर सकती है (यह केवल कुछ RAID कॉन्फ़िगरेशन में लागू है, लेकिन विचार करने और निर्णय लेने योग्य है) बाहर)।
MySQL आपकी क्वेरी को कैसे निष्पादित करता है, इस बारे में जानकारी प्राप्त करने के लिए आप EXPLAIN <your query>
का उपयोग कर सकते हैं। हो सकता है कि आपको कुछ संकेत मिले कि यह धीमा क्यों है।
EXPLAIN SELECT ... FROM ... WHERE ...;
साथ ही, हो सकता है कि आपके पास धीमी क्वेरी हो, और यह दूसरी बार तेज़ था क्योंकि परिणाम कैश किया गया था?
संबंधित सवाल
नए सवाल
mysql
MySQL एक फ्री, ओपन सोर्स रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (RDBMS) है जो स्ट्रक्चर्ड क्वेरी लैंग्वेज (SQL) का उपयोग करता है। इस टैग को अन्य DBs जैसे SQL Server, SQLite आदि के लिए उपयोग न करें। वे विभिन्न DB हैं जो सभी डेटा का प्रबंधन करने के लिए SQL की अपनी बोलियों का उपयोग करते हैं।