所有副本集成员通过每2秒发送一次心跳来监视所有其他成员。这些请求将在10秒后超时。
这两个值是否可配置?
答案 0 :(得分:3)
目前可以在版本3.0之后使用函数 private void FindGarageID()
{
System.Security.Principal.WindowsIdentity identity = Context.Request.LogonUserIdentity;
string loginName = identity.Name;
using (tyrescannerdatabaseEntities dbcontext = new tyrescannerdatabaseEntities())
{
garage = (from r in dbcontext.AspNetUsers
where r.UserName == loginName
select r).FirstOrDefault();
if (!garage.GarageID.Equals(null))
{
garageID = (int)garage.GarageID;
}
else
{
garageID = 1;
}
}
。或命令replSetGetConfig.settings.heartbeatTimeoutSecs。
https://docs.mongodb.org/v3.0/reference/method/rs.reconfig/#rs.reconfig
https://docs.mongodb.org/v3.0/reference/command/replSetGetConfig/#dbcmd.replSetGetConfig
您可以在http接口中看到:
mongohost:mongoport / replSetGetConfig文本= 1
在设置下,以秒为单位的心跳超时时间
rs.reconfig()
答案 1 :(得分:2)
与MongoDB 2.2.0一样,目前的答案是“这些值在运行时无法配置”。您可以查看github.com/mongodb/mongo中的代码并自行修改这些值,但这可能会产生意外的副作用。
幸运的是,正在进行的工作是为MongoDB的下一次迭代添加可配置的超时/心跳设置(2.3.x dev / unstable,最终将在2.4生产/稳定版本中达到高潮)。
有关详情,请参阅MongoDB问题跟踪器中的SERVER-1929。