mongo flowcontrol

  1. mongo正本集部署时,mongo写入默认写入majority。如果从节点落后太多或者有挂掉的正本,呈现如果数量达不到正本集数据的一半以上(majority),mongo会被动的呈现flowcontrol的流量管制。
  2. 查看集群的flowControl配置
    db.admin.runCommand(getParameters: "*"); // 获取mongodb所有的配置参数。mongo status

    "flowControlDecayConstant" : 0.5,"flowControlFudgeFactor" : 0.95,"flowControlMaxSamples" : 1000000,"flowControlMinTicketsPerSecond" : 100,  //最终影响速度的参数,每秒最低100张tickret"flowControlSamplePeriod" : 1000,"flowControlTargetLagSeconds" : 10,"flowControlThresholdLagPercentage" : 0.5,"flowControlTicketAdderConstant" : 1000,"flowControlTicketMultiplierConstant" : 1.05,"flowControlWarnThresholdSeconds" : 10,
  3. flowcontrol的慢日志模式
  4. mongo仲裁节点部署破绽
    线上为了节约服务器资源,采取的一主一从一仲裁的办法部署正本集,因为mongo的从节点内存过大,被内核杀掉,导致了集群只剩下了主节点和仲裁节点。因为仲裁节点只参加投票。导致集群的写入只有一个节点(主节点)。小于majority(2)。导致整个集群呈现flowcontrol。重大影响mongo服务的性能。