MongoDB 4.0分片集群Dropping all pooled connections日志是否正常
MongoDB v4.0分片集群连接池空闲超时丢弃连接日志的判定
观测到的这条日志为Info级别(日志行开头的I代表信息级日志,不属于错误、告警类日志),具体内容:
2022-07-01T10:12:21.327+0200 I CONNPOOL [TaskExecutorPool-0] Dropping all pooled connections to member:27017 due to NetworkInterfaceExceededTimeLimit: Connection pool has been idle for longer than the host timeout
该现象属于正常行为还是风险异常,根据触发场景判定:
- 无风险的正常情况:这类日志集中出现在业务低峰、无流量请求的空闲时段,日志出现前后业务侧没有读写超时、报错,集群各节点的连接数、CPU、网络指标无异常波动时,完全不需要干预。这是MongoDB v4.0连接池的内置资源回收逻辑:当某个节点对应的连接池空闲时长超过
hostTimeout配置阈值(默认30分钟),连接池会主动清空所有闲置连接,避免长期未使用的空连接占用节点文件句柄、内存资源,属于常规资源优化操作。 - 需要重点排查的异常情况:出现以下任意特征时,说明存在潜在风险:
- 日志在业务高峰时段频繁触发,同时业务侧出现MongoDB连接超时、读写失败的报错
- 日志触发间隔极短,比如数分钟就出现一次同节点的连接池清空记录,对应节点的网络监控存在时延突增、丢包问题
- 连接池清空后短时间内出现大量新建连接日志,节点连接数突增逼近最大连接数阈值
- 日志后续伴随出现连接拒绝、路由元信息拉取失败等其他网络类错误
这类场景优先排查日志中记录的member:27017节点状态,确认是否存在节点负载过高僵死、网络分区、防火墙/负载均衡等中间设备主动断开空闲连接的问题。
内容的提问来源于stack exchange,提问作者R2D2
相关产品推荐
相关产品推荐

