2012-04-18 15 views
8

最大接続プールサイズを設定する際にnode-postgresドライブのドキュメントを見つけることができないか、設定できない場合はそれを見つけることさえできません。どのように私は接続の最大数を設定することができます知っている、またはそれは何ですか?node-postgres:最大接続プールサイズを設定する

答えて

-3

node.jsはシングルスレッドですなぜプロセスごとに1つ以上の接続が必要になるのですか? node.jsプロセスをクラスタ化する場合でも、プロセスごとに最大1つの接続が必要です。そうでなければ何か間違っている。

+3

node.jsバトルクライブはノンブロッキングIOです。単一の接続であれば、基本的にそのリソースのブロッキングコールになります!単純に、1分を要するクエリは1分間に1クエリしか処理できないため、10接続の接続プールは1分間に10クエリを許可します。 – Krut

+0

@Jakub - 各接続にはクエリキューがあります。 n番目のクエリがディスパッチされるのは、n-1番目のクエリが完了したときだけです。複数の接続がある場合は、複数のキューがあり、それらのキューは必ずしも互いにブロックされません。接続をプールするのは、作成と破棄に比較的高価なためです。 –

11

デフォルトはノードのPostgres/LIB /デフォルトhttps://github.com/brianc/node-postgres/blob/master/lib/defaults.jsプールサイズは、デフォルトで10に設定されている

で定義され、0は、任意のプールを無効にします。

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

プールは、connectメソッドを使用する場合にのみ使用され、クライアントのインスタンスを直接開始する場合は使用されません。

関連する問題