【发布时间】:2019-09-03 10:11:45
【问题描述】:
我目前正在测试 mongo atlas 的免费层,但是我反复遇到连接限制问题(免费层为 100)。
我在 Azure Service Fabric 应用程序中使用数据库,该应用程序具有许多服务并将在多个节点上运行(尽管目前我主要使用单节点本地集群在本地运行)。
对我来说,100 个连接似乎非常低,我知道这是一个免费层,但即使是较低层的付费集群也有一个下限 (https://docs.atlas.mongodb.com/connection-limits/)。我的生产集群可能从 M20 开始,限制为 700。
我目前对在生产集群中使用 Mongo Atlas 完全没有信心,因为我担心连接会用完。
我之前有一个带有 mLab 的集群(在之前的工作中),它在所有集群上的连接限制约为 16000 个(而我们的连接通常约为 800 个)。
我正在使用我已阅读的 C# 驱动程序,我不需要执行任何特定操作来关闭连接。但是我有时发现我没有在本地运行任何东西(不是服务甚至是 GUI),但连接数几乎是 100,就好像打开的连接没有被关闭一样。
我认为这些限制非常严格吗?我是否做错了什么以继续使用我的连接?
2019 年 9 月 16 日更新:
我已经与 Mongo 谈过此事并得到以下答复:
Our connection limits are set conservatively to ensure that memory exhaustion does not lead to stability problems for your MongoDB Atlas cluster. However, we are in fact currently doing some deep testing within our performance team around whether we can safely lift these limits. Please stay tuned for a likely increase of these limits soon.
看来这很快就会改变™
【问题讨论】:
-
尝试将 mongoclient 设置为应用程序中的单例,以便它可以按照推荐的 here 使用连接池。
标签: c# mongodb database-administration mongodb-atlas