बहुत से निष्क्रिय कनेक्शन PostgreSQL 9.2 प्रदर्शन को प्रभावित कर सकते हैं?


8

मेरे डेटाबेस सर्वर के कुछ प्रश्नों का उत्तर देने में लंबा समय लगता है, और मेरा मानना ​​है कि सीपीयू का उपयोग अधिक है। दौड़ते समय ps aux, मैं ~ 250 "निष्क्रिय" कनेक्शन देखता हूं (जिसे मैं बहुत अधिक मानता हूं)। मैंने पूर्ण निदान करना शुरू नहीं किया है, लेकिन मैं जानना चाहता हूं कि क्या यह एक अच्छी जगह है।

मैं लेनदेन-स्तर पूलिंग के साथ PgBouncer का भी उपयोग कर रहा हूं। मुझे संदेह है कि मैं idleपूल आकार को ट्यून करके कनेक्शन की संख्या को आसानी से कम कर सकता हूं । हालाँकि, मैं तब तक बहुत सारे बदलाव करना शुरू नहीं करना चाहता जब तक कि इसे करने का कोई अच्छा कारण न हो।

क्या idlePostgreSQL 9.2 में कई कनेक्शन प्रदर्शन को प्रभावित कर सकते हैं ?

बहुत बहुत धन्यवाद!


"बहुत अधिक निष्क्रिय कनेक्शन" का क्या अर्थ है? दर्जनों? सैकड़ों?
jap1968

संपादित प्रश्न। इस पर ध्यान दिलाने के लिए धन्यवाद। बस इसे स्पष्ट करने के लिए, आखिरी गिनती ~ 250
जुआन कार्लोस कोटो

शायद? मुझे पता है कि ओरेकल डीबीए ने लोगों से कहा है कि जब विकास डेटाबेस बहुत धीमी गति से चलने लगे तो सभी विंडोज़ (सिंगल विंडो के लिए नए सत्र के बजाय) के लिए एकल सत्र का उपयोग करने के लिए लोगों को अपने देव उपकरण सेट करने के लिए कहा है। सटीक संख्या जो "बहुत अधिक" के रूप में गिना जाता है, संभवतः आपके डेटाबेस के लिए उपलब्ध संसाधनों पर निर्भर करेगा।
FrustratedWithFormsDesigner

जवाबों:


3

मुझे गंभीरता से संदेह है कि निष्क्रिय कनेक्शन आपका मुद्दा है। PostgreSQL निष्क्रिय सत्रों को संभालने में बहुत सक्षम है क्योंकि वे लगभग कोई संसाधन नहीं लेते हैं। दूसरी ओर सक्रिय सत्र बहुत अधिक सुस्ती का कारण हैं।

डेटाबेस कनेक्शन की संख्या पर संदर्भ के लिए https://wiki.postgresql.org/wiki/Number_Of_Database_Connections देखें ।


बेकार लेनदेन के साथ निष्क्रिय सत्र अक्सर शरारती अपराधी होते हैं!
फिलो

मैं सहमत हूँ, फिल, हालांकि वह वास्तव में PostgreSQL के बारे में नहीं है - यह अधिक है कि ग्राहक अंत कैसे लिखा जाता है (जब तक कि मैं कुछ याद नहीं कर रहा हूं)।
मैक्स वर्नोन

कृपया इससे संबंधित प्रश्न देखें । यदि आप इसमें पिच करते हैं तो यह वास्तव में मदद करेगा। धन्यवाद!
जुआन कार्लोस कोटो

वास्तव में निष्क्रिय कनेक्शन में बहुत अधिक (मेमोरी) ओवरहेड होता है और उन्हें टाला जाना चाहिए (मुझे लगता है कि यह प्रति कनेक्शन लगभग 10 एमबी आवंटित करता है, इसलिए आपके मामले में आप कम से कम 2.5 जीबी मेमोरी बर्बाद कर रहे होंगे)
केडारे

1
@MaxVernon - मेरे रनिंग पोस्टग्रैस्कल 9.5 सर्वर में, मैं RES कॉलम, ईआर के लिए 25 निष्क्रिय प्रक्रियाएं करता हूं। प्रक्रिया औसतन लगभग 12MB (रेंज: 4.5MB - 584MB, मुझे संदेह है कि बड़े लोगों ने tx को अनक्मिट किया है)।
सेरड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.