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

MySql Proccesslist स्लीप एंट्री से भरी हुई है जिससे बहुत सारे कनेक्शन हो रहे हैं?

मूल रूप से, आपको स्लीप अवस्था में कनेक्शन मिलते हैं जब :

  • एक PHP स्क्रिप्ट MySQL से जुड़ती है
  • कुछ क्वेरी निष्पादित की जाती हैं
  • फिर, PHP स्क्रिप्ट कुछ चीजें करती है जिसमें समय लगता है
    • डीबी से डिस्कनेक्ट किए बिना
  • और, अंत में, PHP स्क्रिप्ट समाप्त होती है
    • जिसका अर्थ है कि यह MySQL सर्वर से डिस्कनेक्ट हो जाता है

इसलिए, आप आमतौर पर स्लीप अवस्था में कई प्रक्रियाओं के साथ समाप्त होते हैं जब आपके पास बहुत सी PHP प्रक्रियाएं होती हैं जो वास्तव में डेटाबेस-साइड पर कुछ भी किए बिना जुड़ी रहती हैं।

एक बुनियादी विचार, इसलिए:सुनिश्चित करें कि आपके पास PHP प्रक्रियाएं नहीं हैं जो बहुत लंबे समय तक चलती हैं - या जैसे ही उन्हें डेटाबेस तक पहुंचने की आवश्यकता नहीं होती है, उन्हें डिस्कनेक्ट करने के लिए मजबूर करें।


एक और बात, जो मैं अक्सर देखता हूँ जब सर्वर पर कुछ लोड होता है:

  • अपाचे में अधिक से अधिक अनुरोध आ रहे हैं
    • जिसका अर्थ है उत्पन्न करने के लिए कई पृष्ठ
  • प्रत्येक PHP स्क्रिप्ट, एक पृष्ठ बनाने के लिए, DB से जुड़ती है और कुछ प्रश्न करती है
  • डीबी सर्वर पर लोड बढ़ने के साथ इन प्रश्नों में अधिक से अधिक समय लगता है
  • जिसका अर्थ है कि अधिक प्रक्रियाएं ढेर होती रहती हैं

एक समाधान जो आपकी मदद कर सकता है वह है आपकी क्वेरी में लगने वाले समय को कम करना -- सबसे लंबी क्वेरी को अनुकूलित करना।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मायएसक्यूएल प्रश्न

  2. PHP:ऑप्टग्रुप के साथ डायनामिक ड्रॉप डाउन

  3. जाँच करें कि क्या पंक्ति मौजूद है, Laravel

  4. MySQL जैसे RDBMS में द्विदिश संबंधों को कैसे स्टोर करें?

  5. Google Apps स्क्रिप्ट mySQL में स्प्रैडशीट निर्यात करने के लिए एकाधिक फ़ाइलों पर निष्पादित करता है