请问有人使用mongodb atlas时出现一段时间之后会自己断线或连线速度变很慢的情况吗,但db重新连线之后就正常,一开始以为是后端或docker出问题,docker先不用后一样有这问题,后来单纯只重新连线db就恢复正常,伺服器不用重启所以根伺服器可能也没关系,我目前是架设在aws的ubuntu环境上。

我后端是node.js错误资讯大概如下:

MongoTimeoutError: Server selection timed out after 10000 ms
3|www | at Timeout._onTimeout (/home/ubuntu/伺服器档案路径/node_modules/mongodb-core/lib/sdam/topology.js:773:16)
3|www | at listOnTimeout (node:internal/timers:573:17)
3|www | at process.processTimers (node:internal/timers:514:7) {
3|www | [Symbol(mongoErrorContextSymbol)]: {}
3|www | }

2 个回答

1

zivzhong

iT邦研究生 4 级 ‧ 2025-02-11 10:54:48

感觉可以参考:
https://www.facebook.com/share/p/1A5svNxQVv/


  • 1

developer

iT邦新手 5 级 ‧
2025-02-11 13:56:22

好像没给出解答,应该是镜像出问题?

修改

1

Gary

iT邦好手 1 级 ‧ 2025-02-11 14:36:03

检查点:

  1. Timeouts: MongoDB Atlas 可能会因连线逾时而导致断线。可以检查 MongoDB 连线字串的 connectTimeoutMS 和 socketTimeoutMS设置,可尝试调整这些设定来增加逾时时间。

  2. IP 白名单: 可以检查 Atlas 控制台中的 IP 白名单设定,确保伺服器的 IP 被正确列入其中。

  3. 网络延迟不稳: MongoDB Atlas 也是在云上的EC2服务,网络延迟或不稳定可能会影响连线。可尝试测试 AWS 到 MongoDB Atlas 主机间的网络延迟性。

  4. MongoDB 连线Pool问题: MongoDB Connection Pool长时间可能没有释放连线,导致新连线无法成功建立。可尝试增加或减少 maxPoolSize 和 minPoolSize,看看是否能解决。

  5. MongoDB Atlas 的机器Size效能问题: 可检查 Atlas 管理介面内的效能监视指标,看是否存在过高的负载或资源限制。

  6. DNS 配置问题: 如果使用DNS解析MongoDB Atlas FQDN。先尝试改用 IP 直连看看是否有改善。


  • 1

developer

iT邦新手 5 级 ‧
2025-02-11 15:51:01

流量并不高,感觉可能不是上诉的问题,白名单应该也没问题不然无法连线。连线使用官方提供的方式,好像没有再透过DNS转。Atlas一样是选aws的空间应该比较不会延迟才对奇怪。

修改