Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

EC2 Amazon Linux AMI MySQL CPU @ 62% जब निष्क्रिय हो?

केवल एक चीज जिसके बारे में मैं सोच सकता हूं वह यह जांचना है कि mysqld वास्तव में उपयोगकर्ता रूट के रूप में स्ट्रेस का उपयोग करके क्या कर रहा है:

 strace -p 2959

आम तौर पर, स्ट्रेस को तुरंत ब्लॉक करना चाहिए और आपको चयन करने के लिए एक कॉल दिखाना चाहिए (), क्योंकि mysqld को कनेक्शन की प्रतीक्षा करनी चाहिए।

कॉल कुछ इस तरह होनी चाहिए:

 select(SOCKETNO, [OTHER_FDs], NULL, NULL, NULL)

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

मेरा मानना ​​​​है कि MySQL हमेशा एक NULL (अनंत) टाइमआउट नियोजित करता है। यह समझ में आता है और अब मैं जिन mysqlds तक पहुंचने में सक्षम हूं, वे इस तरह से व्यवहार कर रहे हैं।

हालाँकि, कुछ कनेक्शन हैंडलिंग समस्याएँ हो सकती हैं जो चयन को फिर से सोने से रोकती हैं। जांचें कि क्या यह व्यवहार mysqld के प्रारंभ होते ही, या किसी के कनेक्ट होने के बाद प्रकट होता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में केस सेंसिटिव कॉलेशन

  2. MySQL बुकिंग उपलब्धता, अतिव्यापी तिथि सीमाएं

  3. mysql कुंजी बहुत लंबी समस्या थी

  4. Mysql पिछले रिकॉर्ड से एक मान के साथ एक रिकॉर्ड अपडेट कर रहा है

  5. NOT NULL DEFAULT '' का क्या मतलब है?