mongo connection exception
昨晚突然收到告警短信,内容大概如下:
...'Not candidate servers found try ' ... mongodb fata ...
第二天回到公司,忍不住查查神马情况。
问题
查找php手册,内容如下:
No candidate servers found Thrown when the driver cannot establish a connection to MongoDB (fulfilling the ReadPreferences, if specified).
猜测大概意思主节点发生变化时,如选举等,就会造成几秒钟驱动程序收到这个异常信息。 后来,同事表示也曾查这个问题,能造成这种偶发情况的现象如下:
- 主节点发生变化
- 集群变更
建议
- mongo 配置里面有参数“控制选举时驱动如何快速恢复 - mongo.is_master_interval”,可将其值调小
- php驱动连接mongo时,可对参数“connectionTimeoutMS”适当调大;可以结合php请求超时设置来权衡
特此备注,防止忘记。
- Author: josephzeng
- License: CC BY-NC-ND 4.0