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

MySQL त्रुटि बहुत अधिक कनेक्शन

साझा-होस्टिंग प्रदाता आम तौर पर एक ही उपयोगकर्ता के लिए एक साथ बहुत कम मात्रा में एक साथ कनेक्शन की अनुमति देते हैं।

आपका कोड क्या करता है:

  • MySQL सर्वर से कनेक्शन खोलें
  • डू इट्स स्टफ (पेज जेनरेट करना)
  • पृष्ठ के अंत में कनेक्शन बंद करें।

अंतिम चरण, जब पृष्ठ के अंत में किया जाता है, अनिवार्य . नहीं है :(उद्धरण mysql_close मैनुअल) :

लेकिन ध्यान दें कि आपको शायद वैसे भी लगातार कनेक्शन का उपयोग नहीं करना चाहिए...

दो टिप्स :

  • mysql_connect का उपयोग करें mysql_pconnect . के अंदर (आपके लिए पहले से ही ठीक है)
  • mysql_connect के चौथे पैरामीटर को असत्य पर सेट करें (आपके लिए पहले से ही ठीक है, क्योंकि यह डिफ़ॉल्ट मान है) :(मैनुअल को उद्धृत करते हुए):


तब क्या समस्या हो सकती है?

हो सकता है कि आप समानांतर में कई पृष्ठों तक पहुंचने का प्रयास कर रहे हों (उदाहरण के लिए, अपने ब्राउज़र में एकाधिक टैब का उपयोग करके) , जो एक ही समय में वेबसाइट का उपयोग करने वाले कई उपयोगकर्ताओं का अनुकरण करेगा?

यदि आपके पास एक ही समय में साइट का उपयोग करने वाले कई उपयोगकर्ता हैं और mysql_connect . के बीच कोड है और कनेक्शन के बंद होने में बहुत समय लगता है, इसका मतलब होगा कि एक ही समय में कई कनेक्शन खोले जा रहे हैं... और आप सीमा तक पहुंच जाएंगे :-(

फिर भी, चूंकि आप एप्लिकेशन के एकमात्र उपयोगकर्ता हैं, यह देखते हुए कि आपके पास एक साथ 200 तक कनेक्शन की अनुमति है, कुछ अजीब चल रहा है...


ठीक है, "बहुत अधिक कनेक्शन . के बारे में सोच रहे हैं " और "max_connections "...

अगर मुझे ठीक से याद है, max_connections कनेक्शन की संख्या को सीमित नहीं करता आप MySQL सर्वर के लिए खोल सकते हैं, लेकिन कनेक्शन की कुल संख्या जो उस सर्वर के लिए खोला जा सकता है, इससे कनेक्ट होने वाले किसी भी व्यक्ति द्वारा

बहुत सारे कनेक्शन पर MySQL के दस्तावेज़ों को उद्धृत करना :

तो, वास्तव में, समस्या आप से नहीं आ सकती है और न ही आपका कोड (जो वास्तव में ठीक दिखता है) :यह "बस" हो सकता है कि आप अकेले उस MySQL सर्वर से कनेक्ट करने का प्रयास नहीं कर रहे हैं (याद रखें, "साझा होस्टिंग") , और यह कि एक ही समय में बहुत से लोग इसका उपयोग कर रहे हैं...

... और अगर मैं सही हूं और यही है , समस्या को हल करने के लिए आप कुछ नहीं कर सकते:जब तक उस सर्वर पर बहुत अधिक डेटाबेस / उपयोगकर्ता हैं और वह max_connection है 200 पर सेट है, आप पीड़ित रहेंगे...


एक विचार के रूप में :GoDaddy पर वापस जाकर उनसे इस बारे में पूछने से पहले, यह अच्छा होगा यदि कोई मेरे द्वारा कही गई बात को मान्य कर सके ^^



  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 में COUNT(*) होने से हटाएं

  3. MySQL:फुलटेक्स्ट में स्कोर हमेशा 1 क्यों होता है?

  4. किसी गैर-ऑब्जेक्ट पर सदस्य फ़ंक्शन पंक्तिकाउंट () को कॉल करें

  5. `log_slow_queries` `my.cnf` को क्यों तोड़ती है?