कनेक्शन पूल - मोबाइल एप्लिकेशन विकास, वेब सेवाएँ, SOA आर्किटेक्चर - प्रौद्योगिकी
इसे छोड़कर सामग्री पर बढ़ने के लिए

कनेक्शन पूलिंग - मोबाइल ऐप विकास, वेब सेवाएँ, SOA आर्किटेक्चर

विज्ञापनों

कनेक्शन पूलिंग क्या है?

कनेक्शन पूलिंग समान कॉन्फ़िगरेशन वाले लगातार कनेक्शन बनाने और छोड़ने के ओवरहेड को कम करने के लिए मौजूदा कनेक्शन के पुन: उपयोग की अनुमति देता है। दूसरे शब्दों में, समान कनेक्शन स्ट्रिंग और क्रेडेंशियल्स का उपयोग करने वाले कनेक्शन को खोलना और बंद करना पूल में उपलब्ध कनेक्शन का पुन: उपयोग कर सकता है। विशिष्ट एप्लिकेशन डेटाबेस से डेटा को लगातार लाने और अपडेट करने के लिए समान कनेक्शन ऑब्जेक्ट का उपयोग करते हैं। कनेक्शन पूलिंग डेटाबेस को लगातार कनेक्शन बनाने और छोड़ने की आवश्यकता को समाप्त करके प्रदर्शन का एक उच्च स्तर प्रदान करता है। कनेक्शन पूल को प्रक्रिया, एप्लिकेशन डोमेन और कनेक्शन स्ट्रिंग द्वारा अलग किया जाता है। एकीकृत सुरक्षा का उपयोग करने वाले कनेक्शन स्ट्रिंग के लिए, प्रत्येक विशिष्ट पहचान के लिए एक अलग पूल बनाया जाता है।

कनेक्शन पूलिंग विकल्पों को नियंत्रित करना

ADO.NET कनेक्शन ऑब्जेक्ट बनाते समय कनेक्शन पूलिंग डिफ़ॉल्ट रूप से चालू होती है। आप कनेक्शन पूलिंग के लिए विशिष्ट कनेक्शन स्ट्रिंग कीवर्ड सेट करके कनेक्शन पूलिंग व्यवहार को नियंत्रित कर सकते हैं (या कनेक्शन पूलिंग को पूरी तरह से अक्षम कर सकते हैं)। उदाहरण के लिए, विशेष रूप से कनेक्शन पूलिंग को अक्षम करने के लिए, अपनी कनेक्शन स्ट्रिंग में Pooling=False सेट करें। तालिका 5-7 कनेक्शन स्ट्रिंग कीवर्ड की एक सूची प्रदान करती है जिसका उपयोग यह नियंत्रित करने के लिए किया जा सकता है कि कोई विशिष्ट कनेक्शन कनेक्शन पूल के साथ कैसे इंटरैक्ट करता है। सभी प्रदाताओं के लिए सभी कीवर्ड उपलब्ध नहीं हैं। उदाहरण के लिए, OLE DB प्रदाता कनेक्शन स्ट्रिंग में OLE DB सेवा कीवर्ड के लिए निर्धारित मान के आधार पर कनेक्शन पूलिंग (जिसे संसाधन पूलिंग या सत्र के रूप में भी जाना जाता है) को ट्रैक करता है।

टेबल कनेक्शन पूल कनेक्शन स्ट्रिंगकनेक्शन स्ट्रिंग गुणों के अलावा, जो कनेक्शन पूलिंग व्यवहार को नियंत्रित करते हैं, कनेक्शन ऑब्जेक्ट पर ऐसे तरीके भी उपलब्ध हैं जो कनेक्शन पूलिंग को भी प्रभावित कर सकते हैं। उपलब्ध विधियों का उपयोग आम तौर पर तब किया जाता है जब आप अपने एप्लिकेशन में कनेक्शन बंद कर रहे होते हैं और आप जानते हैं कि उनका दोबारा उपयोग नहीं किया जाएगा। यह बंद होने पर कनेक्शन को पूल में वापस करने के बजाय कनेक्शन को हटाकर कनेक्शन पूल को साफ़ करता है। कोई भी कनेक्शन जो पहले से ही पूल में है और खुला है, अगली बार बंद होने पर हटा दिया जाएगा। तालिका 5-8 कनेक्शन पूल के साथ इंटरैक्ट करने के लिए उपलब्ध तरीकों को सूचीबद्ध करती है।

कनेक्शन पूलिंग का उपयोग करने के लिए कनेक्शन कॉन्फ़िगर करना

डिफ़ॉल्ट रूप से, ADO.NET में उपलब्ध सभी .NET फ्रेमवर्क डेटा प्रदाताओं में कनेक्शन पूलिंग सक्षम है, लेकिन कनेक्शन पूलिंग के साथ काम करने के लिए उपलब्ध नियंत्रण का स्तर उपयोग किए जा रहे प्रदाता के आधार पर भिन्न होता है।

SQL सर्वर कनेक्शन के साथ कनेक्शन पूलिंग को कॉन्फ़िगर करना

डिफ़ॉल्ट रूप से, SqlConnection ऑब्जेक्ट स्वचालित रूप से कनेक्शन पूलिंग का उपयोग करता है। हर बार जब आप एक अद्वितीय कनेक्शन स्ट्रिंग के साथ Sqlconnection.Open को कॉल करते हैं, तो एक नया पूल बनाया जाता है। जैसा कि तालिका 5-7 में पहले बताया गया है, कनेक्शन स्ट्रिंग में कनेक्शन पूल कीवर्ड सेट करके कनेक्शन पूलिंग व्यवहार को नियंत्रित करें। उदाहरण के लिए, एक कनेक्शन पर विचार करें जहां आप न्यूनतम पूल आकार सेट करना चाहते हैं। न्यूनतम पूल आकार कीवर्ड को शून्य से अधिक मान निर्दिष्ट करके, आप यह सुनिश्चित करते हैं कि एप्लिकेशन समाप्त होने तक पूल नष्ट नहीं होता है। न्यूनतम पूल आकार को 5 पर सेट करने के लिए, निम्न के समान कनेक्शन स्ट्रिंग का उपयोग करें:

डेटा स्रोत=SqlServerName;प्रारंभिक कैटलॉग=डेटाबेसनाम; एकीकृत सुरक्षा = सत्य; न्यूनतम पूल आकार = 5

न्यूनतम पूल आकार डिफ़ॉल्ट रूप से 0 है, जिसका अर्थ है कि प्रत्येक कनेक्शन को अनुरोध के अनुसार बनाया और प्रारंभ किया जाना चाहिए, कनेक्शन स्ट्रिंग में न्यूनतम पूल आकार बढ़ाने से, कनेक्शन की संकेतित संख्या बनाई जाती है और उपयोग के लिए तैयार होती है, जिससे समय कम हो सकता है इन प्रारंभिक कनेक्शनों पर कनेक्शन स्थापित करने में समय लगता है।

Oracle कनेक्शंस के साथ कनेक्शन पूलिंग कॉन्फ़िगर करना

Oracle के लिए .NET फ्रेमवर्क डेटा प्रदाता का उपयोग करने वाले कनेक्शन स्वचालित रूप से डिफ़ॉल्ट रूप से कनेक्शन पूलिंग का उपयोग करते हैं। आप कनेक्शन स्ट्रिंग कीवर्ड सेट करके यह नियंत्रित कर सकते हैं कि कनेक्शन पूलिंग का उपयोग कैसे करता है। तालिका 5-10 कनेक्शन पूलिंग गतिविधियों को बदलने के लिए उपलब्ध कनेक्शन स्ट्रिंग कीवर्ड का विवरण देती है।

कनेक्शन त्रुटि प्रबंधन

जब SQL सर्वर कोई चेतावनी या त्रुटि देता है, तो SQL सर्वर के लिए .NET फ्रेमवर्क डेटा प्रदाता एक SqlException बनाता है और फेंकता है जिसे आप समस्या से निपटने के लिए अपने एप्लिकेशन में पकड़ सकते हैं। जब SqlException को फेंक दिया जाता है, तो SQL सर्वर से लौटाई गई त्रुटियों के संग्रह तक पहुंचने के लिए SqlException.Errors प्रॉपर्टी का निरीक्षण करें। SqlException.Errors प्रॉपर्टी एक SqlErrorCollection क्लास (SqlError कक्षाओं का एक संग्रह) है जिसमें हमेशा कम से कम एक SqlError ऑब्जेक्ट होता है।

अधिक जानकारी SQL सर्वर त्रुटियाँ

SqlConnection 19 या उससे कम गंभीरता स्तर वाले संदेशों के लिए खुला रहेगा, लेकिन गंभीरता 20 या अधिक होने पर सामान्य रूप से स्वचालित रूप से बंद हो जाएगा।

सारांश

  • कनेक्शन पूलिंग डिफ़ॉल्ट रूप से सक्षम है.
  • कनेक्शन पूलिंग विकल्प कनेक्शन स्ट्रिंग में परिभाषित किए गए हैं, ओडीबीसी प्रदाता को छोड़कर, जो विंडोज़ पर ओडीबीसी डेटा स्रोत प्रशासक संवाद का उपयोग करता है।
  • SQL सर्वर पर कोई त्रुटि पाए जाने पर एक SqlException ऑब्जेक्ट बनाया जाता है।
  • SqlException अपवाद के प्रत्येक उदाहरण में कम से कम एक SqlError चेतावनी होती है जिसमें वास्तविक सर्वर त्रुटि जानकारी होती है।
  • विंडोज़ प्रमाणीकरण (जिसे इंटीग्रेटेड सिक्योरिटी भी कहा जाता है) डेटा से सुरक्षित रूप से कनेक्ट करने का सुझाया गया तरीका है।
  • एप्लिकेशन की कॉन्फ़िगरेशन फ़ाइल में संवेदनशील जानकारी वाले कनेक्शन स्ट्रिंग को संग्रहीत करें और संवेदनशील जानकारी वाली सभी सेटिंग्स को एन्क्रिप्ट करें।