2012-04-18 25 views
8

सेट करना मुझे अधिकतम कनेक्शन पूल आकार सेट करने पर नोड-पोस्टग्रेस ड्राइव के लिए कोई दस्तावेज़ नहीं मिल रहा है, या यहां तक ​​कि यह पता लगाना कि यह कॉन्फ़िगर करने योग्य नहीं है। क्या कोई जानता है कि मैं अधिकतम कनेक्शन कैसे सेट कर सकता हूं, या डिफ़ॉल्ट रूप से यह क्या है?नोड-पोस्टग्रेस: ​​अधिकतम कनेक्शन पूल आकार

उत्तर

-3

node.js एकल थ्रेड किया गया है क्यों प्रति प्रक्रिया डीबी के लिए 1 कनेक्शन अधिक चाहते हैं? यहां तक ​​कि जब आप node.js प्रक्रियाओं को क्लस्टर करेंगे, तो आपके पास प्रति प्रक्रिया अधिकतम 1 कनेक्शन होना चाहिए। अन्यथा आप कुछ गलत कर रहे हैं।

+3

node.js युद्ध रोना गैर-अवरुद्ध आईओ है, जिसमें एक कनेक्शन होने से मूल रूप से उस संसाधन के लिए अवरुद्ध कॉल हो जाता है! बस, एक प्रश्न जो 1 मिनट लेता है केवल 1 क्वेरी प्रति मिनट संभाल सकता है, इसलिए 10 कनेक्शनों का कनेक्शन पूल 10 क्वेरी प्रति मिनट – Krut

+0

@Jakub की अनुमति देगा - प्रत्येक कनेक्शन में एक क्वेरी कतार है, इसलिए हाँ, अगर आपके पास केवल एक कनेक्शन था, n'th क्वेरी केवल प्रेषित की जाएगी क्योंकि n-1'th क्वेरी पूरी हो गई है। यदि आपके पास एकाधिक कनेक्शन हैं, तो आपके पास एकाधिक कतार हैं और उनमें से कोई भी आवश्यक रूप से एक दूसरे को अवरुद्ध नहीं करता है। पूल कनेक्शन हम कारण हैं क्योंकि वे बनाने और नष्ट करने के लिए अपेक्षाकृत महंगे हैं। –

11

चूक नोड postgres/lib/चूक https://github.com/brianc/node-postgres/blob/master/lib/defaults.js

poolSize डिफ़ॉल्ट रूप से 10 पर सेट है में परिभाषित कर रहे हैं, 0 किसी भी पूलिंग को निष्क्रिय कर देगा।

var pg = require('pg'); 
pg.defaults.poolSize = 20; 

ध्यान दें कि पूल केवल जब कनेक्ट विधि का उपयोग कर, और नहीं जब क्लाइंट का एक उदाहरण सीधे की शुरुआत प्रयोग किया जाता है।

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