mongo flowcontrol引发的问题

结义 -
mongo flowcontrol引发的问题
mongo flowcontrolmongo副本集部署时,mongo写入默认写入majority。如果从节点落后太多或者有挂掉的副本,出现如果数量达不到副本集数据的一半以上(majority),mongo会主动的出现flowcontrol的流量控制。

查看集群的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,
flowcontrol的慢日志形式
mongo仲裁节点部署漏洞
线上为了节约服务器资源,采取的一主一从一仲裁的方法部署副本集,由于mongo的从节点内存过大,被内核杀掉,导致了集群只剩下了主节点和仲裁节点。由于仲裁节点只参与投票。导致集群的写入只有一个节点(主节点)。小于majority(2)。导致整个集群出现flowcontrol。严重影响mongo服务的性能。
特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

Tags 标签

mongodb数据库nosql

扩展阅读

加个好友,技术交流

1628738909466805.jpg