2013-05-24 6 views
4

7 NodeJSMongoose 웹 서비스가 작은 인스턴스 인 Amazon AWSMongoDB에서 다른 작은 인스턴스로 실행됩니다.NodeJS와 MongoDB 연결이 끊어짐

모든 것이 높은 피크없이 낮은 사용률 (CPU, 메모리 및 네트워크 트래픽 모두)에서 작동합니다.

하지만이 NodeJS 서비스가 MongoDB과 연결이 끊어진 것으로 보이는 경우도 있습니다. Mongoose을 사용하지 않는 서비스의 모든 메소드는 계속 정상적으로 작동합니다. 몽구스를 사용하는 사람은 아무런 응답도없이 끊임없이 전화를 끊습니다. 다시 응답하려면 서비스를 다시 시작해야합니다.

임의로 발생하며 알아낼 수있는 패턴이 없습니다.

또 다른 이상한 점은 평균적으로 모든 서비스가 함께 중단된다는 것입니다. 그것은 단지 하나의 일은 드물지만 발생합니다.

모든 서비스를 하나의 서버로 분리 할 수는 있지만 매우 비쌉니다. 그러나 먼저 나는 일어나고있는 일을 찾아 내고 그것을 고치고 싶습니다.

나를 도와 줄 사람이 있습니까?

+0

코드와 같이 매우 소리가납니다. 특정 조건에서 브라우저에 응답을 보내지 않는 버그가 있습니다. 정확히 당신이 묘사하는 것처럼 보입니다 : * "응답이없는 끝없는 전화"*. @yrium은 몽구스가 자동으로 다시 연결되는 것에 대해 정확하므로 몽구스와 전혀 관련이 없을 수 있습니다. – robertklep

+0

그게 내가 생각하고있는 것들 중 하나입니다. 문제는 노드가 모든 종류의 오류 메시지를 던져서 분석을 어렵게 만드는 것입니다. – mauro0x52

+0

응답을 보내지 않으면 브라우저가 대기하고 (결국) 시간 초과됩니다. 문제가 발생한 경로 중 하나를 게시 할 수 있습니까? – robertklep

답변

0

'auto_reconnect = true'옵션을 연결 문자열에 추가하면 문제가 해결 될 수 있습니다.

그러나 설명서에 따르면 Mongoose는 기본적으로 auto_reconnect를 사용합니다.

node.js 및 mongodb 서버의 로그를 게시하면 어떻게 될지 이해할 수 있습니다.

+0

답변 해 주셔서 감사합니다! 문제는 연결이 여전히 존재하며 닫히지 않고 오류 로그 나 메시지가 없다는 것입니다. 단지 응답을 멈 춥니 다. – mauro0x52

+0

드라이버에 많은 버그 수정이 있었기 때문에 최신 버전으로 업그레이드하십시오. – christkv

관련 문제