मेरे पास एक मूले एप्लिकेशन है जो ओरेकल डेटाबेस से जुड़ता है। एप्लिकेशन एक एसओएपी एपीआई है जो एसक्यूएल संग्रहीत प्रक्रियाओं को निष्पादित करने की अनुमति देता है। मेरा कनेक्टर कनेक्शन पूलिंग का उपयोग करने के लिए स्थापित है और मैं कनेक्शन को स्वयं निगरानी कर रहा हूं। मेरे पास अधिकतम पूल आकार 20 है और डेटाबेस में कॉल करते समय, मैं उन्हें खोल सकता हूं (netstat -ntl | grep PORTNUMBER)।निष्क्रियता के बाद डेटाबेस कनेक्शन बंद करें
tcp4 0 0 IP HERE OTHER IP HERE SYN_SENT
tcp4 0 0 IP HERE OTHER IP HERE ESTABLISHED
tcp4 0 0 IP HERE OTHER IP HERE ESTABLISHED
tcp4 0 0 IP HERE OTHER IP HERE ESTABLISHED
tcp4 0 0 IP HERE OTHER IP HERE ESTABLISHED
tcp4 0 0 IP HERE OTHER IP HERE ESTABLISHED
tcp4 0 0 IP HERE OTHER IP HERE ESTABLISHED
tcp4 0 0 IP HERE OTHER IP HERE ESTABLISHED
tcp4 0 0 IP HERE OTHER IP HERE ESTABLISHED
tcp4 0 0 IP HERE OTHER IP HERE ESTABLISHED
tcp4 0 0 IP HERE OTHER IP HERE ESTABLISHED
tcp4 0 0 IP HERE OTHER IP HERE ESTABLISHED
tcp4 0 0 IP HERE OTHER IP HERE ESTABLISHED
tcp4 0 0 IP HERE OTHER IP HERE ESTABLISHED
tcp4 0 0 IP HERE OTHER IP HERE ESTABLISHED
tcp4 0 0 IP HERE OTHER IP HERE ESTABLISHED
tcp4 0 0 IP HERE OTHER IP HERE ESTABLISHED
tcp4 0 0 IP HERE OTHER IP HERE ESTABLISHED
tcp4 0 0 IP HERE OTHER IP HERE ESTABLISHED
tcp4 0 0 IP HERE OTHER IP HERE ESTABLISHED
tcp4 0 0 IP HERE OTHER IP HERE ESTABLISHED
tcp4 10 0 IP HERE OTHER IP HERE ESTABLISHED
जब कॉल किए जाते हैं, तो मुझे उम्मीद है कि कनेक्शन एक निश्चित अवधि के बाद बंद हो जाएंगे। ऐसा नहीं होता है। मैंने देखा है कि जब सर्वर पर एप्लिकेशन चल रहा था, कनेक्शन अभी भी जुलाई से खुले थे (यह कुछ महीने पहले है)।
एक्सए लेनदेन को सक्षम करने और कनेक्शन टाइमआउट सेट करके कुछ सेकंड के बाद कनेक्शन को वास्तव में बंद करने का एकमात्र तरीका है। हालांकि, यह पूरी तरह से एप्लिकेशन के प्रदर्शन को गड़बड़ कर देता है और यह अनावश्यक ओवरहेड है।
मैं एक्सए कनेक्शन का उपयोग किए बिना ऐसे टाइमआउट को जोड़ने के बारे में कैसे जाऊं? मैं अपने डेटाबेस कनेक्शन को 20 सेकंड निष्क्रियता के बाद बंद करना चाहता हूं।
धन्यवाद
संपादित करें: जेनेरिक डेटाबेस कनेक्टर प्रयोग किया जाता है - खच्चर संस्करण 3.8.0 हम कनेक्शन डेटाबेस के लिए अनुमति दी जाती है की अधिकतम संख्या है, तो हम इस प्रवाह चल रहा है के कई उदाहरण है। इसका मतलब है कि कनेक्शन उन मामलों में से एक द्वारा आरक्षित हैं जो अन्य उदाहरणों को नए कनेक्शन प्राप्त करने में असमर्थ होते हैं।
हमारे पास जो विशिष्ट मुद्दा था, वह था कि एक उदाहरण में अभी भी 120 कनेक्शन आरक्षित थे, भले ही आखिरी बार यह चलने के कुछ हफ्ते पहले था। जब दूसरे उदाहरण ने अधिक कनेक्शन का अनुरोध किया, तो यह केवल 30 प्राप्त हो सकता है क्योंकि डेटाबेस पक्ष में अधिकतम 150 है।
मैंने अपना प्रश्न संपादित कर लिया है। – DenCowboy