पहले मैं कहूंगा कि आप शायद लगातार कनेक्शन बंद करना चाहते हैं क्योंकि वे लगभग हमेशा अच्छे से ज्यादा नुकसान करते हैं।
दूसरा, मैं कहूंगा कि आप अपने MySQL उपयोगकर्ताओं को दोबारा जांचना चाहते हैं, बस यह सुनिश्चित करने के लिए कि किसी के लिए रिमोट सर्वर से कनेक्ट होना संभव नहीं है। यह भी जांच करने के लिए एक प्रमुख सुरक्षा चीज है।
तीसरा, मैं कहूंगा कि आप चालू करना चाहते हैं। MySQL स्लो क्वेरी किसी भी प्रश्न पर नज़र रखने के लिए लॉग इन करें जिसमें लंबा समय लग रहा है, और इसका उपयोग यह सुनिश्चित करने के लिए करें कि आपके पास कुंजी तालिकाओं को बहुत लंबे समय तक लॉक करने वाली कोई क्वेरी नहीं है।
सीपीयू लोड अधिक होने पर कुछ अन्य चीजें जिन्हें आप जांच सकते हैं, निम्न क्वेरी को चलाने के लिए होगी:
SHOW PROCESSLIST;
यह आपको कोई भी प्रश्न दिखाएगा जो वर्तमान में चल रहा है या चलाने के लिए कतार में है, क्वेरी क्या है और यह क्या कर रही है (यदि यह बहुत लंबी है तो यह आदेश क्वेरी को छोटा कर देगा, आप पूर्ण क्वेरी टेक्स्ट देखने के लिए पूर्ण प्रक्रिया दिखाएं का उपयोग कर सकते हैं) ।
आप अपने बफ़र आकार जैसी चीज़ों पर भी नज़र रखना चाहेंगे, टेबल कैश , क्वेरी कैश और innodb_buffer_pool_size (यदि आप innodb टेबल का उपयोग कर रहे हैं) क्योंकि इन सभी मेमोरी आवंटन का क्वेरी प्रदर्शन पर प्रभाव पड़ सकता है जिससे MySQL CPU को खा सकता है।
आप शायद निम्नलिखित को भी पढ़ना चाहेंगे क्योंकि उनमें कुछ अच्छी जानकारी होती है।
प्रोफाइलर का उपयोग करना भी एक बहुत अच्छा विचार है। जब आप चाहें तो कुछ चालू कर सकते हैं जो आपको दिखाएगा कि आपका एप्लिकेशन कौन से प्रश्न चल रहा है, यदि डुप्लिकेट प्रश्न हैं, तो वे कितना समय ले रहे हैं, आदि। इस तरह का एक उदाहरण वह है जिसे मैं कॉल कर रहा हूं PHP Profiler लेकिन वहाँ बहुत सारे हैं। यदि आप Drupal, Joomla या Wordpress जैसे सॉफ़्टवेयर के एक टुकड़े का उपयोग कर रहे हैं, तो आप समुदाय के भीतर पूछना चाहेंगे क्योंकि संभवतः उनके लिए ऐसे मॉड्यूल उपलब्ध हैं जो आपको कुछ भी मैन्युअल रूप से एकीकृत करने की आवश्यकता के बिना यह जानकारी प्राप्त करने की अनुमति देते हैं।