40

यह मेरा डेटाबेस कनेक्शन स्ट्रिंग है। मैंने अभी तक अधिकतम पूल आकार सेट नहीं किया है।क्या मुझे डेटाबेस कनेक्शन स्ट्रिंग में अधिकतम पूल आकार सेट करना चाहिए? अगर मैं नहीं करता तो क्या होता है?

public static string srConnectionString = 
         "server=localhost;database=mydb;uid=sa;pwd=mypw;"; 

तो वर्तमान में मेरे आवेदन का कितना कनेक्शन समर्थन करता है? कनेक्शन पूल आकार बढ़ाने के लिए सही वाक्यविन्यास क्या है?

आवेदन सी ​​# 4.0 में लिखा गया है।

+7

यदि आपको कोई समस्या नहीं है, तो इसे डिफ़ॉल्ट के रूप में छोड़ दें। –

+0

वर्तमान में हां लेकिन मुझे लगता है कि यह शीर्ष क्षणों में समस्याएं पैदा कर सकता है। तो मैं डिफ़ॉल्ट से अधिक सेट पसंद करते हैं। जैसा कि मैंने डिफ़ॉल्ट पढ़ा है, क्या मैं सही हूँ? – MonsterMMORPG

+0

100 का डिफ़ॉल्ट कनेक्शन पूल आकार https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql-server-connection-pooling और संभवतः अन्य स्थानों पर माइक्रोसॉफ्ट द्वारा दस्तावेज किया गया है। –

उत्तर

53

वर्तमान में आपका एप्लिकेशन पूल में 100 कनेक्शन का समर्थन करता है। यहां बताया गया है Conn स्ट्रिंग अगर आप 200 के लिए यह वृद्धि करना चाहते हैं प्रकार दिखाई देगा:

public static string srConnectionString = 
       "server=localhost;database=mydb;uid=sa;pwd=mypw;Max Pool Size=200;"; 

आप कैसे डेटाबेस आपके आवेदन उपयोग के साथ कई कनेक्शन की जांच कर सकते हैं अपने डेटाबेस में sp_who प्रक्रिया को क्रियान्वित करते हुए। ज्यादातर मामलों में डिफ़ॉल्ट कनेक्शन पूल आकार पर्याप्त होगा।

+1

क्या कनेक्शनस्ट्रिंग के माध्यम से अधिकतम और न्यूनतम पूलसाइज सेट करने का कोई और तरीका है? मैं इसे कोड में करना पसंद करूंगा ... – Jos

+0

'अधिकतम पूल आकार' को सेट करते समय क्या होता है, 30 कहें। जब सभी स्लॉट 'इन-यूज' और 'निष्क्रिय कनेक्शन' से भरे हुए हैं, तो निष्क्रिय कनेक्शन होंगे नए कनेक्शन के लिए कमरे बनाने के लिए स्वचालित रूप से बंद कर दिया? – Pierre

+2

@Pierre - आपको निम्न की तरह एक त्रुटि प्राप्त होगी: सिस्टम। अविश्वसनीय अपवाद अपवाद: टाइमआउट समाप्त हो गया। पूल से कनेक्शन प्राप्त करने से पहले टाइमआउट अवधि समाप्त हो गई। ऐसा इसलिए हो सकता है क्योंकि सभी पूल किए गए कनेक्शन उपयोग में थे और अधिकतम पूल आकार तक पहुंच गया था। System.Data.SqlClient.SqlConnectionPoolManager.GetPooledConnection पर (SqlConnectionString विकल्प, बूलियन और isInTransaction) System.Data.SqlClient.SqlConnection.Open पर() –

8

"वर्तमान में हाँ लेकिन मुझे लगता है कि यह शिखर क्षणों में समस्याएं पैदा कर सकता है" मैं पुष्टि कर सकता है कि मैं एक समस्या है जहाँ मैं क्योंकि शिखर अनुरोधों की समय समाप्ति मिला था। अधिकतम पूल आकार सेट करने के बाद, एप्लिकेशन बिना किसी समस्या के भाग गया। आईआईएस 7.5/एएसपी.Net