Docs 菜单
Docs 主页
/
MongoDB Atlas
/ / /

修复连接问题

在此页面上

  • 警报条件
  • 常见触发器
  • 解决眼前的问题
  • 实施长期解决方案
  • 监控您的进度

连接警报通常发生在超过 MongoDB 进程允许的最大连接数时。一旦超过限制,就不能打开新的连接,直到打开的连接数降到限制以下。

您可以在项目级警报设置页面中配置以下警报条件,以触发警报。

Connections 发生(如果主机的活动连接数达到指定的平均值)。

Connections % of configured limit 发生(如果与主机的打开连接数超过指定百分比)。

超过Atlas 集群的连接限制可能有多种原因。 不同的Atlas层级有不同的连接限制;示例,大小为M0/M2/M5的集群仅限于500连接,大小为M10的集群仅限于1500连接。 集群层越大,连接限制越高。 不同的数据库访问权限应用程序有不同的方法来实施连接池化化,这会影响应用程序在任何给定时间维护的打开连接数。

要解决连接警报条件的问题,请重启当前正在与 Atlas 集群建立连接的应用程序。重启应用程序会终止应用程序已打开的所有现有连接,并让 Atlas 集群可以恢复正常操作。

大小为 M10 及更大的 Atlas 集群可以利用测试主节点故障转移选项。测试主节点故障转移过程将退出当前主节点并触发选举,进而断开与主节点的所有连接。

注意

如果应用程序以独占方式连接到从节点, 则可能需要多次执行测试故障转移过程, 确保适用的从节点在副本集轮换位置并断开连接。

测试故障转移通常是更好的解决方案, 但另一种可能的解决方案是重启当前与 Atlas 集群建立连接的 应用程序。重启应用程序, 终止所有现有连接,并支持 Atlas 集群恢复正常操作。

连接警报通常是更大问题的症状。采用上述策略之一可以解决眼前的问题,但永久解决方案通常需要:

  • 检查数据库应用程序是否存在有缺陷的连接代码。在连接打开但从未关闭的情况下,可能导致旧连接堆积,最终超过连接限制。此外,您可能需要实现某种形式的连接池化

  • 如果用户群对于当前的集群层来说太大,请升级到更大的 Atlas 集群层,从而支持更多连接。

查看 Connections 图表,监控集群的连接总数。

监控连接以确定当前的连接限制是否足够。如有必要,请升级集群层。

要了解更多信息,请参阅查看集群指标。

后退

Atlas Search