我們在副本集中有三個服務器。舉例來說,ServerA是主要的,而ServerB和ServerC是次要的。在對環境進行壓力測試時,ServerA上的服務器負載增加到了4.00左右,而二級服務器仍然保持在0.00。壓力測試的URL目標不會對mongo進行任何寫入,但似乎讀取不會被分發到輔助節點。MongoDB未在副本集中分發讀取
我們使用官方的C#驅動程序。
ServerA日誌顯示許多正在打開的連接,lsn集條目和一堆「killcursors」命令 - 顯然它正在爲頁面提供服務。但ServerB和ServerC僅顯示來自Web服務器(其中四個)的初始連接,之後只有日誌中出現「lsn set」條目。幾分鐘後,最初的四個連接超時並關閉。
副本集處於完整工作狀態。我可以在小學上停止mongo,並且輔助人員會正確選出一個新的小學。從Web.config文件
我們的連接字符串:
<connectionStrings>
<add name="wellness.mongodb" connectionString="mongodb://serverA:27017,serverB:27017,serverC:27017/mydatabase?safe=true;replicaset=myreplicaset;slaveok=true" />
</connectionStrings>
什麼是我們做錯了什麼?
您使用的是官方C#驅動程序的正式版本? – 2011-05-04 18:52:15
你必須指定slaveOK嗎? – murvinlai 2011-12-03 01:24:15