关于mongodb:mongo-flowcontrol引发的问题

3次阅读

共计 771 个字符,预计需要花费 2 分钟才能阅读完成。

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 服务的性能。
正文完
 0