2010-03-16 14 views
15

एलएएमपी उत्पादन सर्वर पर मुझे कभी-कभी MYSQL से 'बहुत अधिक कनेक्शन' त्रुटि मिलती है, मैं यह देखने के लिए निगरानी जोड़ना चाहता हूं कि कारण यह है कि मैं अधिकतम कनेक्शन से अधिक हूं सीमा।मॉनिटरिंग ने 'बहुत सारे कनेक्शन' डीबग करने के लिए mysql पर कनेक्शन का उपयोग किया

मेरा प्रश्न: मैं mysql से या mysqladmin से प्रयुक्त कनेक्शन की वर्तमान संख्या से कैसे पूछ सकता हूं? (मैंने देखा शो स्थिति कुल कनेक्शन और नहीं वर्तमान में उपयोग किया लोगों को देता है कि।)

उत्तर

15

MySQL की निगरानी करने के लिए एक बहुत ही शक्तिशाली टूल innotop है। आप इसे यहाँ पा सकते हैं:

https://github.com/innotop/innotop

डेबियन लेनी में, यह पैकेज mysql-क्लाइंट 5.0 का हिस्सा है और मैं इसे साथ ही अन्य distros के लिए उपलब्ध है लगता है। यह InnoDB आंतरिकों की निगरानी में विशेष रूप से शक्तिशाली है, लेकिन सर्वर की सामान्य निगरानी भी प्रदान करता है।

"चर & स्थिति" मोड में, यह चर "कनेक्शन" और "Max_used_Connections" (दूसरों के बीच) चर पर नज़र रखता है। यह पूर्ण और वृद्धिशील मान प्रदर्शित करता है - उत्तरार्द्ध आपको वर्तमान कनेक्शन के बारे में एक विचार दे सकता है।

चूंकि innotop एक गैर-इंटरैक्टिव मोड प्रदान करता है, इसलिए आप आसानी से कुछ अनुकूलित स्क्रिप्ट, नागोस चेक या आपके पास जो भी सिस्टम से innotop को कॉल करके पूरी तरह से स्वचालित निगरानी कर सकते हैं।

+2

डेबियन पर, आपको मैन्युअल रूप से 'libterm-readkey-perl इंस्टॉल करना पड़ सकता है इसे काम करने के लिए। –

3

http://www.mail-archive.com/[email protected]/msg00830.html

यहाँ एक नजर डालें संभोग - कुछ काम का हो सकता है।

+0

उत्तर के लिए बहुत बहुत धन्यवाद।हालांकि धागा वर्णन करता है कि यह कैसे पता चलता है कि इससे पहले से कनेक्ट करने के लिए अधिकतम कनेक्शन स्थिति हुई है। मैं समय के साथ उपयोग किए गए कनेक्शनों की लगातार निगरानी कर रहा हूं, इसलिए मुझे पता चलेगा कि यह कारण था या स्मृति या डिस्क एक्सेस संसाधनों की कमी जैसे कुछ और था। – Nir

1

इससे आपके लिए MySQL Admin प्राप्त करना आसान हो सकता है, आप आसानी से देख सकते हैं कि उपयोग किए गए कनेक्शन कहां से आ रहे हैं। connections के बारे में इस पर यहां देखें ...

+0

"कनेक्शन" लिंक पर डॉक्टर हटा दिया गया है। –

+1

@ChrisBuckett ओरेकल को माईस्क्ल से मारने पर विचार करने से कोई आश्चर्य नहीं हुआ ... [मारियाडीबी] (http://mariadb.org/) फोर्क संस्करण के रूप में है ... – t0mm13b

2

दिखाएं स्थिति कुल कनेक्शन प्रदर्शित नहीं करती है: यह वर्तमान कनेक्शन प्रदर्शित करती है। आपको बहुत सारे कनेक्शन त्रुटि संदेश प्राप्त होते हैं जब खुले कनेक्शन की संख्या (निष्क्रिय या नहीं) सर्वर के लिए स्थापित सीमा को पार करती है।

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

पता लगाएं कि कौन सा एप्लिकेशन ऐसे प्रश्नों को चला रहा है और इसे लगातार कनेक्शन का उपयोग न करने के लिए कॉन्फ़िगर करें।

2

समवर्ती कनेक्शन MySQL द्वारा अनुमति की कुल संख्या प्राप्त करने के लिए आप की जाँच करनी चाहिए

show variables like 'max_connections'

और कितने समवर्ती कनेक्शन वर्तमान में इस्तेमाल किया जा रहा द्वारा

show status like 'max_used_connections'

मापा जा सकता है आप चाहिए इन चरों की निगरानी करें। यदि आपको एक वाणिज्यिक उपकरण की आवश्यकता है जो महत्वपूर्ण MySQL मेट्रिक्स पर नज़र रखता है तो आप MySQL एंटरप्राइज़ मॉनीटर, मॉनीग इत्यादि का प्रयास कर सकते हैं ..

संबंधित मुद्दे