2012-04-18 2 views
8

최대 연결 풀 크기 설정시 node-postgres 드라이브에 대한 설명서를 찾을 수 없거나 구성 할 수없는 경우 해당 내용을 찾아 낼 수 없습니다. 누구든지 최대 연결 수를 설정할 수있는 방법을 알고 있습니까? 아니면 기본적으로 무엇입니까?node-postgres : 최대 연결 풀 크기 설정

답변

-3

node.js는 단일 스레드입니다. 왜 프로세스 당 db에 1 이상의 연결이 필요합니까? node.js 프로세스를 클러스터링 할 때에도 프로세스 당 최대 1 개의 연결이 있어야합니다. 그렇지 않으면 뭔가 잘못하고있는 것입니다.

+3

node.js battle cry는 논 블로킹 입출력이며, 단일 연결을 사용하면 기본적으로 해당 자원을 차단 호출합니다! 간단히 말해, 1 분이 걸리는 쿼리는 분당 1 개의 쿼리 만 처리 할 수 ​​있으므로 10 개의 연결 풀로 분당 10 개의 쿼리를 처리 할 수 ​​있습니다. – Krut

+0

@Jakub - 각 연결에 쿼리 대기열이 있으므로 연결이 하나 뿐인 경우, n-1 번째 쿼리가 완료 될 때만 n 번째 쿼리가 전달됩니다. 연결이 여러 개있는 경우 여러 개의 대기열이 있으며 그 중 하나도 서로를 차단하지 못합니다. 우리가 연결을 풀하는 이유는 그들이 상대적으로 생성하고 파괴하는 비용이 비싸기 때문입니다. –

11

기본값 노드 그레스/lib 디렉토리/기본값 https://github.com/brianc/node-postgres/blob/master/lib/defaults.js poolSize는 기본적으로 10으로 설정

에 정의되어, 0은 풀링을 사용할 수 없게됩니다. 직접 클라이언트의 인스턴스를 시작할 때 연결 방법을 사용하고,하지 않을 때는 풀에만 사용되는

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

참고.