धीमा MySql सर्वर प्रदर्शन - क्या और कैसे जांचना है?


10

शुरू: अस्वीकरण

मैं एक MySql सर्वर DBA नहीं हूँ; मुझे ज्यादातर MSSQL के बारे में पता है - यही वजह है कि मुझे आपकी मदद की ज़रूरत है।

अंत: अस्वीकरण

मुझे यह जांचने के लिए कहा गया है कि MySql सर्वर इंजन खराब प्रदर्शन क्यों कर रहा है - मैंने इसमें शामिल डेटाबेस को नहीं देखा है और न ही यह जानना चाहता है कि कहां से शुरू करना है।

मैं कहाँ से प्रारम्भ करूँ?

मुझे उन लोगों से क्या सवाल पूछना चाहिए जिनके पास MySql की पहुंच है - मुझे यह भी नहीं पता है कि वे phpmyadmin या किसी अन्य टूल का उपयोग कर रहे हैं।

अनिवार्य रूप से:

  • मुझे किस आइटम के लिए पूछना चाहिए और मैं उनके द्वारा दिए गए प्रत्येक टुकड़े पर कैसे प्रतिक्रिया दूंगा?

जब डेटाबेस के प्रदर्शन में समस्या है, तो उसके लिए पूछने के लिए प्रमुख आइटम क्या हैं?

MSSQL में मैं sp_who2मौजूदा कनेक्शन के लिए देख सकता हूं कि क्या कुछ अवरुद्ध है या नहीं, mysql में समकक्ष क्या है? * विशिष्ट होने की आवश्यकता नहीं है क्योंकि प्रत्येक आइटम के लिए कई प्रकार के परिणाम हो सकते हैं, लेकिन उपयोगकर्ताओं को प्रभावित करने के बाद से गेंद को लुढ़काने में मदद करना चाहते हैं - जाहिर है कि वे dba ऑन-बोर्ड के बिना mysql इंजन सेट करते हैं।


क्या आपने सामान्य ressource मुद्दों की जाँच की है - CPU पूर्ण, RAM पूर्ण / प्रयुक्त नहीं, IO ओवरलोडिंग? 101 stuffyou एक sql सर्वर पर शुरू होगा?
टॉमटॉम

ऐसा मौका नहीं था - मैं चाहता हूं कि मैं एक बार तैयार हो जाऊं ताकि मैं आ जाऊं ताकि सब कुछ चलता रहे - यह संभव है कि साइट पर पहले से ही चेक किए गए लोग और ऐप और डीबी सर्वर दोनों के साथ उच्च-चश्मा (कंपनी अलग हो) हार्डवेयर क्या समस्या नहीं है पर क्या होता है पर ध्यान केंद्रित करना चाहते हैं
यास्कर यास्कर

बेफिक्री से - वहाँ से शुरू करें। मैंने एक एससीएसआई हार्ड डिस्क के साथ "हाई एंड सर्वर" देखा है (जो कि उन्हें कुछ eBay नीलामी से बाहर निकाला होगा) जिसमें मल्टी सेकंड रिस्पॉन्स टाइम था ... मैं IO पक्ष को मान्य करूंगा। यह भी मदद करेगा - बहुत अधिक आईओ लापता सूचकांकों को इंगित कर सकता है यदि संख्याएं पूरी तरह से हास्यास्पद हैं।
टॉमटॉम

जवाबों:


9
  • धीमे प्रश्नों को लॉग करें- यदि आपके सिस्टम में प्रश्नों की एक टन है, तो यह पता लगाना कठिन हो जाता है कि कौन सी क्वेरी आपके सिस्टम को धीमा कर रही है। MySQL आगे के विश्लेषण के लिए धीमी क्वेरी लॉग करने के लिए एक उपकरण प्रदान करता है http://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html

  • EXPLAIN विस्तारित आदेश आपके प्रश्नों के बारे में विवरण दिखाता है जब आपके पास कोई विचार नहीं है कि क्या हो रहा है http://dev.mysql.com/doc/refman/5.0/en/explain-extended.html

  • अपने प्रश्नों का उपयोग करने के लिए इंडेक्स का उपयोग करें - एक अच्छा अभ्यास इंडेक्स को यह देखकर है कि कौन से फ़ील्ड उनके लिए इंडेक्स क्लॉज ऐड इंडेक्स में हैं। यदि आप किसी तालिका से सभी फ़ील्ड प्राप्त कर रहे हैं, तो भी क्वेरी डिस्क से सभी डेटा प्राप्त करके धीमी हो जाती है। सेलेक्ट क्वेरी में आपको यह निर्दिष्ट करना चाहिए कि आपको उन सभी को लाने के लिए किन क्षेत्रों को लाने की आवश्यकता है *
  • क्वेरी कैश का उपयोग करें http://dev.mysql.com/doc/refman/5.1/en/query-cache-configuration.html
  • सुनिश्चित करें कि आपका MySQL सर्वर कॉन्फ़िगरेशन फ़ाइल विकल्प आपके हार्डवेयर के अनुसार अनुकूलित है http://dev.mysql.com/doc/refman/5.5/en/option-files.html
  • सुनिश्चित करें कि आप टेबल संरचना बनाते समय अनुकूलित डेटा प्रकारों का उपयोग कर रहे हैं उदाहरण के लिए "टिप्पणियां" फ़ील्ड में 256 वर्णों का आकार है, इसे टाइप करने के बजाय VARCHAR (256) के साथ फ़ील्ड के साथ MYSQL के लिए उत्तर दें। क्वेरी बहुत तेज होगी।

प्रक्रिया_अनलीसे () इष्टतम डेटा प्रकार खोजने में आपकी सहायता कर सकता है:

http://www.mysqlperformanceblog.com/2009/03/23/procedure-analyse/

http://dev.mysql.com/doc/refman/5.0/en/procedure-analyse.html

  • Percona से ओपन सोर्स टूल हैं - http://www.percona.com/software/percona-toolkit जो MySQL DBA के लिए मददगार हो सकते हैं और विशेष रूप से जो MySQL के लिए नए हैं, ये उपकरण उन्हें अच्छी सहायता प्रदान करेंगे।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.