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

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服务的性能。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理