从 mlab 切换到 mongodb-atlas 后的连接问题

connection issues after switching from mlab to mongodb-atlas

我在 heroku 上有一个 meteor 应用程序 运行,直到上周数据库还在 mlab 上 运行。 然后我切换到 MongoDB Atlas,几天后应用程序 运行 非常慢。 我从M2升级到M5,所以还可以,但现在又很慢了。 似乎有网络输出限制,但 mlab 没有。

会不会是查询的问题或者我做错了什么,我需要考虑什么?

有没有人知道这个问题或有使用 meteor/heroku/mongodb-atlas 组合的经验?

提前致谢

在 Heroku 中,当您选择 MLab 服务时,数据库很可能是在与您的 Meteor 实例相同的 VPC 中提供的。我首先要确保我 运行 一个 Atlas MongoDB 在与 Heroku 相同的区域和服务提供商中。 (例如 Meteor 和 AWS eu-central 上的 Mongo 运行)。你做了这个了吗? https://www.mongodb.com/blog/post/integrating-mongodb-atlas-with-heroku-private-spaces

您是否超出了 Mongo 集群的限制? https://docs.atlas.mongodb.com/reference/atlas-limits/ 这对于避免为不需要的服务规模付费很重要。

Monti APM (https://montiapm.com/) 提供免费的 Meteor 监控服务,可保留 8 小时。这可以帮助您了解您的 Oplog 交易和交易量。

我不知道你是如何设置你的 Oplog 的,但你也可以试试这个(旧的)Mongo URI。我仍然将它与最新的 Meteor 版本一起使用,我觉得很好:

"env": {
      "MONGO_URL": "mongodb://yourapp:XXXXXXXXXXXXXXXX@yourapp-shard-00-00-zc1lg.mongodb.net:27017,yourapp-shard-00-01-zc1lg.mongodb.net:27017,yourapp-shard-00-02-zc1lg.mongodb.net:27017/meteor?ssl=true&replicaSet=yourapp-shard-0&authSource=admin",
      "MONGO_OPLOG_URL": "mongodb://yourapp-oplog:XXXXXXXXXXXXXXXX@yourapp-shard-00-00-zc1lg.mongodb.net:27017,yourapp-shard-00-01-zc1lg.mongodb.net:27017,yourapp-shard-00-02-zc1lg.mongodb.net:27017/local?authSource=admin&ssl=true&replicaSet=Yourapp-shard-0"
    }