2009-12-02 14 views
58

मानकों में से एक में pconnect विकल्प का नुकसान पीछा कर रहा हैलाभ/CodeIgniter डेटाबेस config में CodeIgniter

['pconnect'] TRUE/FALSE - Whether to use a persistent connection 

आप क्या सुझाव है मैं करने के लिए इस सेट?
यदि मैं इसे गलत पर सेट करता हूं तो क्या कोई महत्वपूर्ण प्रदर्शन हिट होता है?
इसे सही पर सेट करने से कौन सी संभावित समस्याएं उत्पन्न हो सकती हैं?

उत्तर

90

लगातार कनेक्शन के लिए सामान्य सर्वोत्तम अभ्यास देखें। मेरे सुझाव

  • डिफ़ॉल्ट रूप से, न करें
  • यदि आपके पास:
    • समर्पित वेब सर्वर और उत्पादन में डेटाबेस हार्डवेयर
    • और वेब सर्वर और सही ढंग से डेटाबेस
    • देखते और एक सटीक किया है उत्पादन-जैसे परीक्षण पर्यावरण
    • और अभी भी लगता है कि आपकी प्रदर्शन समस्या डेटाबेस कनेक्शन समय के कारण होती है,

लगातार कनेक्शन पर यह करने पर विचार करें

  • बग्स पैदा कर सकता है, क्योंकि कुछ कनेक्शन राज्य अनजाने कायम है (यह एक बड़ी समस्या नहीं है!)
  • डेटाबेस कनेक्शन सीमा
  • को पार कर किया जाना है
  • कई प्रदर्शन (ज्यादातर निष्क्रिय) कनेक्शनों द्वारा उपयोग किए जाने वाले बहुत सारे रैम के कारण डेटाबेस प्रदर्शन
  • बग्स क्योंकि कनेक्शन "बासी" चले गए हैं और एप्लिकेशन

नोटिस नहीं किया था लेकिन

  • प्रारंभिक कनेक्शन

पर विलंबता कम कर सकते हैं आपको लगता है कि कनेक्शन प्रतीक्षा अवधि आ रही हैं तो एक समस्या, इसे अपने प्रदर्शन परीक्षण प्रणाली और पर मापने पर विचार करने पर विचार करें।

+3

ग्रेट उत्तर भाई बहुत स्पष्टता देता है। – Ganatra

+0

क्या मैं बस जोड़ सकता हूं कि आप कनेक्शन पूलिंग का उपयोग कर सकते हैं, लेकिन यह अपने स्वयं के मुद्दों को सेट करने के लिए तैयार करता है और मुझे यकीन नहीं है कि कोडिनेटर उन्हें संभाल सकता है। http://php.net/manual/en/book.mysqlnd-ms.php –