修复连接问题
连接警报通常发生在超过 MongoDB 进程允许的最大连接数时。一旦超过限制,就不能打开新的连接,直到打开的连接数降到限制以下。
警报条件
您可以在项目级警报设置页面中配置以下警报条件,以触发警报。
Connections
发生(如果主机的活动连接数达到指定的平均值)。
Connections % of configured limit
发生(如果与主机的打开连接数超过指定百分比)。
常见触发器
超过Atlas 集群的连接限制可能有多种原因。 不同的Atlas层级有不同的连接限制;示例,大小为M0/M2/M5
的集群仅限于500连接,大小为M10
的集群仅限于1500连接。 集群层越大,连接限制越高。 不同的数据库访问权限应用程序有不同的方法来实施连接池化化,这会影响应用程序在任何给定时间维护的打开连接数。
解决眼前的问题
M0/M2/M5 集群
要解决连接警报条件的问题,请重启当前正在与 Atlas 集群建立连接的应用程序。重启应用程序会终止应用程序已打开的所有现有连接,并让 Atlas 集群可以恢复正常操作。
M10 以上的集群
大小为 M10
及更大的 Atlas 集群可以利用测试主节点故障转移选项。测试主节点故障转移过程将退出当前主节点并触发选举,进而断开与主节点的所有连接。
注意
如果应用程序以独占方式连接到从节点, 则可能需要多次执行测试故障转移过程, 确保适用的从节点在副本集轮换位置并断开连接。
测试故障转移通常是更好的解决方案, 但另一种可能的解决方案是重启当前与 Atlas 集群建立连接的 应用程序。重启应用程序, 终止所有现有连接,并支持 Atlas 集群恢复正常操作。
实施长期解决方案
连接警报通常是更大问题的症状。采用上述策略之一可以解决眼前的问题,但永久解决方案通常需要:
监控您的进度
查看 Connections 图表,监控集群的连接总数。
监控连接以确定当前的连接限制是否足够。如有必要,请升级集群层。
要了解更多信息,请参阅查看集群指标。