Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Heroku 从mlab切换到mongodb atlas后的连接问题_Heroku_Meteor_Mongodb Atlas - Fatal编程技术网

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

Heroku 从mlab切换到mongodb atlas后的连接问题,heroku,meteor,mongodb-atlas,Heroku,Meteor,Mongodb Atlas,我有一个meteor应用程序在heroku上运行,直到上周数据库还在mlab上运行。 然后我切换到MongoDB Atlas,几天后应用程序运行非常慢。 我从M2升级到M5,所以还行,但现在又很慢了。 似乎存在网络超出限制,但使用mlab则没有 P>这可能是一个问题,或者我做了什么错事,我该考虑什么?< /P> 有没有人知道这个问题,或者有过meteor/heroku/mongodb atlas组合的经验 提前感谢在Heroku,当您选择MLab服务时,DB很可能与Meteor实例在同一VPC

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

<> P>这可能是一个问题,或者我做了什么错事,我该考虑什么?< /P> 有没有人知道这个问题,或者有过meteor/heroku/mongodb atlas组合的经验


提前感谢

在Heroku,当您选择MLab服务时,DB很可能与Meteor实例在同一VPC中提供。我首先要确保我在和Heroku相同的地区和服务提供商运行Atlas MongoDB。(例如,Meteor和Mongo均在AWS eu central上运行)。是你干的吗

您是否超过了Mongo群集的限制?这对于避免为您不需要的服务规模付费很重要

Monti APM()为Meteor提供8小时的免费监控服务。这可以帮助您了解Oplog事务和卷

我不知道您是如何设置Oplog的,但是您也可以尝试使用这个(较旧的)mongouri。我仍然在使用最新的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&replicset=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&replicset=yourapp-shard-0“
}

我要做的第一件事是验证oplog tailing是否与新数据库一起工作。如果不是,这可能解释为什么可能会有更多的网络流量,因为meteor将进行轮询。@ChristianFritz我创建了一个具有本地读取权限的用户,并在heroku中为MONGO_OPLOG_URL设置环境变量。但是,我如何验证oplog tailing是否实际工作?您可以尝试向代码中添加
console.log(process.env)
,以确保设置并使用了env var。若它是,那个么它应该工作,否则流星会抱怨。但也许是设置时出错了?不过这只是一种预感。你的问题可能完全源于其他原因。