活动连接数达到最大Mongo Atlas

时间:2019-09-21 08:27:41

标签: c# asp.net mongodb asp.net-core

我有一个.NetCore应用程序。我的数据库是Mongo,托管在Mongo Atlas上。我很容易达到最大连接数。我对数据库有很多要求,但与数据库的连接是单调。

enter image description here

我通过Mongo Client连接到Mongo

MongoClient client = new MongoClient(config.GetConnectionString("Dbconnectionstring"));
IMongoDatabase database = client.GetDatabase("database");

所有这些都在Startup.cs中注册为单调的类中

services.AddSingleton<MongoUnitOfWork>();

我以前没有这个问题。在当前应用程序上,我必须向数据库发出很多请求,但是如果我以单身身份注册了连接,则我希望使用相同的连接,而不是为每个请求都打开一个新连接。至少这是我认为的情况。

更新

我使用了一个名为HangFire的循环服务(旨在用于重复性作业),该服务需要一个到数据库的连接字符串。即使我没有将任何函数每1分钟或类似的时间自动调用一次,但我认为这是问题所在。现在,我评论了有关此服务的所有内容,一切都恢复了正常。

一旦我100%确定这是问题所在,我就会回来。

更新2

今天我又遇到了问题,所以我认为循环服务不是问题。

更新3

上次摆脱该服务时,我还删除了所有连接。到现在为止,我还没有遇到其他问题,并且在删除服务的那一天进行检查时,一切似乎还不错。今天,我再次检查了连接,大约有70个连接。显然,连接没有关闭。

另外,是的,我确定我正在使用单例实例化MongoClient。我还放置了断点,以查看是否按要求将它们命中。不是请求是问题。

0 个答案:

没有答案
相关问题