2011-12-29 13 views
7

मुझे unicorn के लिए डेटाबेस कनेक्शन पूलिंग प्रभाव का वर्णन करने वाला कोई भी दस्तावेज़ नहीं मिल रहा है।यूनिकर्न रेल के लिए वास्तव में एक डीबी कनेक्शन पूल की आवश्यकता है?

यूनिकॉर्न कई कार्यकर्ताओं को रोकता है। मैंने prefork कॉन्फ़िगर किया है और यह महत्वपूर्ण है कि श्रमिकों के बीच डेटाबेस कनेक्शन साझा न करें, इसलिए मैं कांटा के बाद डीबी कनेक्शन रीसेट करता हूं।

मेरे रेल आवेदन में प्रति सर्वर 8 कर्मचारी हैं, और डेटाबेस.आईएमएल में पूल आकार 5 है, फिर मैंने mysql में 45 कनेक्शन देखा।

प्रत्येक कार्यकर्ता एकल-थ्रेडेड होता है जो एक समय में 1 अनुरोध को संभालता है। एसक्यूएल प्रश्न अवरुद्ध होना चाहिए। लगता है कि अन्य 4 कनेक्शन बेकार हैं? क्या मैं बेहतर प्रदर्शन के लिए पूल आकार 1 पर सेट कर सकता हूं?

उत्तर

7

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

संबंधित मुद्दे