我有一个在heroku上运行的meteor应用程序,直到上周数据库还在mlab上运行。然后我切换到MongoDB地图,几天后,应用程序运行得非常慢。我从M2升级到M5,所以它还可以,但现在它又很慢了。似乎有一个网络输出限制,但在mlab中没有。
这可能是查询的问题,或者我做错了什么,我必须考虑什么?
有没有人知道这个问题,或者有meteor/heroku/mongodb-atlas组合的经验?
提前感谢
发布于 2020-09-18 13:15:59
在Heroku中,当您选择MLab服务时,DB很可能与您的Meteor实例在同一个VPC中提供。我首先要确保我在与Heroku相同的地区和服务提供商中运行一个Atlas MongoDB。(例如,Meteor和Mongo都在AWS eu-central上运行)。是你做的吗?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/)提供免费的流星监测服务,保留时间为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"
}https://stackoverflow.com/questions/63935686
复制相似问题