2012-12-06 5 views
2

현재 node.js (Native MongoDB) 드라이버를 사용하여 Mongodb와 작업 중이므로 풀링 된 연결 수를 설정할 수 있지만 동일한 동작이 관찰 되더라도 관계 없습니다.Mongo DB 초기 연결 풀이 열려 있습니까?

문제의 코드 : 연결이 분명히 아직 닫는

Thu Dec 06 20:19:32 [initandlisten] connection accepted from 127.0.0.1:58663 #6 
(1 connection now open) 
Thu Dec 06 20:19:32 [initandlisten] connection accepted from 127.0.0.1:58664 #7 
(2 connections now open) 
Thu Dec 06 20:19:32 [initandlisten] connection accepted from 127.0.0.1:58665 #8 
(3 connections now open) 
Thu Dec 06 20:19:32 [initandlisten] connection accepted from 127.0.0.1:58666 #9 
(4 connections now open) 
Thu Dec 06 20:19:32 [initandlisten] connection accepted from 127.0.0.1:58667 #10 
(5 connections now open) 
Thu Dec 06 20:19:36 [conn9] end connection 127.0.0.1:58666 (4 connections now op 
en) 
Thu Dec 06 20:19:36 [conn10] end connection 127.0.0.1:58667 (4 connections now o 
pen) 
Thu Dec 06 20:19:36 [conn8] end connection 127.0.0.1:58665 (4 connections now op 
en) 
Thu Dec 06 20:19:36 [conn6] end connection 127.0.0.1:58663 (4 connections now op 
en) 
Thu Dec 06 20:19:36 [conn7] end connection 127.0.0.1:58664 (4 connections now op 
en) 

현재 열려있는 연결 수도 연결이 비록 감소하지 않습니다 : 서버의 로그가

(function init(){ 
    db.connect("mongodb://localhost/test",function(err, database){ 

    }); 
})(); 

올바르게 증가하고 있습니다. 의도 된 행동?

추신. mongodb에 nodejs 래퍼를 사용하여 대답하지 마십시오.

+1

해당 코드로이 동작을 재현 할 수 없습니다. 프로세스를 죽이거나 콜백에'database.close();'콜을 넣어도 연결 수는 0으로 되돌아갑니다. – JohnnyHK

답변

0

MongoDB 카운터에 문제가 있습니다. 데이터베이스가 모든 연결을 닫을 때 비동기 적으로 작동하며 (여러 개의 닫는 신호) 너무 빠르게 발생하여 카운터 업데이트를 따라갈 수 없습니다. MongoDB 소스 코드를 살펴본 후 메시지 출력이 카운터 업데이트 근처에없는 것을 볼 수 있습니다.

문제는 IMO를 조금 더 잘 보여주는 최대 1ms 정밀도와 비슷한 출력입니다.

Mon Dec 2 17:42:09.059 [conn675] end connection 127.0.0.1:65198 (9 connections now open) 
Mon Dec 2 17:42:09.059 [conn676] end connection 127.0.0.1:65199 (8 connections now open) 
Mon Dec 2 17:42:09.059 [conn677] end connection 127.0.0.1:65200 (8 connections now open) 
Mon Dec 2 17:42:09.059 [conn678] end connection 127.0.0.1:65201 (7 connections now open) 
Mon Dec 2 17:42:09.059 [conn679] end connection 127.0.0.1:65202 (6 connections now open) 
Mon Dec 2 17:42:09.059 [conn680] end connection 127.0.0.1:65203 (5 connections now open) 
Mon Dec 2 17:42:09.059 [conn681] end connection 127.0.0.1:65204 (4 connections now open) 
Mon Dec 2 17:42:09.059 [conn682] end connection 127.0.0.1:65205 (3 connections now open) 
Mon Dec 2 17:42:09.059 [conn683] end connection 127.0.0.1:65206 (2 connections now open) 
Mon Dec 2 17:42:09.059 [conn684] end connection 127.0.0.1:65207 (2 connections now open)