복제 세트에 세 개의 서버가 있습니다. 예를 들어, ServerA는 Primary이고 ServerB와 ServerC는 Secondaries입니다. 환경을 스트레스 테스트하는 동안 ServerA의 서버로드는 약 4.00으로, 보조 서버는 0.00으로 유지됩니다. 스트레스 테스트의 URL 대상은 mongo에 대한 쓰기 작업을 수행하지 않지만 읽기 작업이 보조 노드에 배포되지 않는 것으로 보입니다.MongoDB가 복제 세트에 읽기를 배포하지 않습니다.
공식 C# 드라이버를 사용하고 있습니다.
ServerA 로그는 열리는 많은 연결, lsn 설정 항목 및 "killcursors"명령을 보여줍니다. 이는 분명히 페이지를 제공하기 위해 노력하고 있습니다. 그러나 ServerB와 ServerC는 웹 서버 (네 개)의 초기 연결 만 표시하고 그 후에는 "lsn set"항목 만 로그에 표시됩니다. 몇 분 후 초기 4 개의 연결 시간이 초과되었습니다.
복제 세트가 정상적으로 작동합니다. 나는 1 차에서 몽고를 멈출 수 있고, 2 차는 성공적으로 새로운 1 차를 선출 할 것이다. 의 Web.config에서
우리의 연결 문자열 : 우리가 무슨 일을하고
<connectionStrings>
<add name="wellness.mongodb" connectionString="mongodb://serverA:27017,serverB:27017,serverC:27017/mydatabase?safe=true;replicaset=myreplicaset;slaveok=true" />
</connectionStrings>
?
공식 C# 드라이버의 버전은 사용하고 계십니까? –
slaveOK를 지정해야합니까? – murvinlai