टाइमआउट यह है कि आप छोड़ने से पहले अनुरोध से प्रतिक्रिया के लिए कितने समय तक प्रतीक्षा करते हैं। TimeOut = 0 का मतलब है कि आप कनेक्शन के लिए हमेशा के लिए इंतजार कर रहे हैं। अच्छा मुझे लगता है कि यदि आप वास्तव में धीमी सर्वर से कनेक्ट कर रहे हैं तो जवाब देने में 12 घंटे लगते हैं तो यह सामान्य है :-)। आम तौर पर एक बुरी चीज। आप अनुरोध पर किसी प्रकार का उचित टाइमआउट रखना चाहते हैं, ताकि आप महसूस कर सकें कि आपका लक्ष्य नीचे है और आपके जीवन के साथ आगे बढ़ रहा है।
कनेक्शन लाइफटाइम = मारने से पहले कनेक्शन कितना समय तक रहता है और फिर से बनाया जाता है। 0 का जीवनकाल का मतलब कभी भी मारना और पुन: बनाना नहीं है। आम तौर पर एक बुरी बात नहीं, क्योंकि कनेक्शन को मारना और पुनर्निर्माण करना धीमा है। विभिन्न बग के माध्यम से आपके कनेक्शन अस्थिर स्थिति में फंस सकते हैं (जैसे अजीब 3 तरीके के लेन-देन से निपटने पर) .. लेकिन 99% समय कनेक्शन कनेक्शन को अनंत के रूप में रखना अच्छा होता है।
कनेक्शन पूलिंग इस तथ्य से निपटने का एक तरीका है कि कनेक्शन बनाना बहुत धीमा है। तो प्रत्येक अनुरोध के लिए एक नया कनेक्शन बनाने के बजाय, इसके बजाय, पूल, 10, प्रीडेड कनेक्शन का पूल है। जब आपको एक की आवश्यकता होती है, तो आप एक उधार लेते हैं, इसका इस्तेमाल करते हैं, और वापस आते हैं। आप पूल के आकार को समायोजित कर सकते हैं ताकि आपका ऐप कैसा व्यवहार कर सके। बड़ा पूल = अधिक कनेक्शन = एक समय में सामानों को और अधिक थ्रेड कर रहा है, लेकिन यह जो कुछ भी आप कर रहे हैं उसे भी जबरदस्त कर सकते हैं।
सारांश में:
connectiontimeout = 0 बुरा है, यह कुछ 30 सेकंड की तरह उचित हैं।
ConnectionLifetime = 0 ठीक
ConnectionPooling = विकलांग बुरा है, आप की संभावना इसका उपयोग करना चाहते होंगे।
क्या मुझे पता है कि आपको यह त्रुटि है कि यह त्रुटि कैसे आई है? 'निर्दिष्ट किसी भी MySQL होस्ट से कनेक्ट करने में असमर्थ।' – Mark
आपका सर्वर प्रतिसाद नहीं दे रहा है। नीचे हो सकता है, दाहिने बंदरगाह पर नहीं खुल सकता है, फ़ायरवॉल हो सकता है, आदि। अधिक जानकारी की आवश्यकता है – bwawok
मुझे कनेक्शन लाइफटाइम के अधिक verbose desc को तो mysql दस्तावेज़ पसंद है। – Nicholi