You need to enable JavaScript to run this app.
文档中心
文档数据库 MongoDB 版

文档数据库 MongoDB 版

复制全文
下载 pdf
报错和异常
如何排查并处理分片集群实例连接数耗尽导致的连接失败?
复制全文
下载 pdf
如何排查并处理分片集群实例连接数耗尽导致的连接失败?
文档数据库 MongoDB 版分片集群实例的连接数达到规格上限后,实例将无法响应新建立的连接请求,导致业务连接失败。本文介绍如何排查并处理这类问题。​
问题现象 ​
当连接数耗尽时,通常表现为以下一种或多种现象:​
  • 业务应用(如 Java、Python 等服务)报错,提示连接超时或连接被拒绝。报错信息如下:​
  • ​
    {"t":{"$date":"2026-06-30T15:35:37.256+08:00"},"s":"I", "c":"NETWORK", "id":22942, "ctx":"listener","msg":"Connection refused because there are too many open connections","attr":{"remote":"11.189.107.83:59512","connectionCount":24000}}​
    ​
  • 已正确配置白名单,但通过 MongoDB Shell 或其他客户端工具仍无法连接实例。​
  • 控制台监控图表中,当前连接数持续接近或达到实例规格对应的推荐连接数上限。​
原因定位​
通过控制台监控图表确认连接数是否已耗尽。​
  1. 登录 MongoDB 控制台,在顶部菜单栏左上角选择实例所属项目和地域。​
  1. 在左侧导航栏选择分片集实例列表,单击目标实例名称,进入实例详情页。​
  1. 在实例详情页单击监控告警页签,分别切换至 Mongos 和 Shards 页签,查看各节点的当前连接数。​
若当前连接数持续接近或达到该规格的推荐连接数上限,可以确认连接数已耗尽。​
说明​
  • 各规格对应的推荐连接数上限,请参见产品规格。​
  • 分片集群实例的连接数可能集中在 Mongos 节点(业务入口)或 Shard 节点(数据存储),请分别检查这两类节点。ConfigServer 节点仅存储集群元数据,不承载业务连接,排查时可暂不关注。​
处理方法​
您可以通过重启 Mongos 节点来临时释放所有连接,快速恢复业务。重启后请尽快排查连接数耗尽的原因,避免问题反复出现。​
注意​
重启操作会导致节点出现约 30 秒的闪断,请提前做好业务安排并确保应用具备重连机制。​
  • 如果连接都是正常业务请求,可依次尝试以下方式:​
  • 调整客户端连接池:确保应用实例数 × maxPoolSize(默认 100)< 实例推荐连接数;设置 maxIdleTimeMS(默认 0,即不限制)让空闲连接自动关闭。更多连接池调优建议,请参见调整连接池设置。​
  • 调大服务端连接上限:在控制台适当调大 net.maxIncomingConnections 参数值。参数说明请参见参数支持,修改方法请参见修改实例参数。​
说明​
升级实例规格会产生额外费用,具体请参见计费项与价格,请您根据业务需求合理评估。​
最近更新时间:2026.07.01 17:26:45
这个页面对您有帮助吗?
有用
有用
无用
无用