【问题标题】:Why do we need to set Min pool size in ConnectionString为什么我们需要在 ConnectionString 中设置 Min pool size
【发布时间】:2013-10-13 20:10:12
【问题描述】:

对于 SQL 连接池,为什么我们需要设置最小池大小?由于连接将保存在连接池中并重复使用,为什么我们需要保持最小池大小指定的活动连接?谢谢。

【问题讨论】:

  • 你为什么需要?如果您不指定最小尺寸,则为 0。
  • @TimSchmelter 我猜他想知道我们到底需要什么?这样做有什么目的吗?
  • @TimSchmelter 是的,我的问题是最小池大小的目的是什么

标签: c# connection sqlconnection pool


【解决方案1】:

为什么我们需要保持由最小池大小指定的实时连接

您可能知道创建连接是一项资源密集型工作。因此,如果您的应用程序即使在空闲数小时后仍需要一致的响应时间,您可以选择将其设置为一个较小的数字,例如 5。在这种情况下,第一个用户请求将不必等待这些数据库连接建立。可以阅读池化详情here

【讨论】:

  • 谢谢。所以,如果我打开连接池,但最小池大小为 0,连接可以在短时间内重用,但会在很长一段时间后关闭。如果我将最小池大小设置为 5,那么至少 5 个连接将永远保持打开状态?我对吗?谢谢
【解决方案2】:

打开和维护连接的成本很高,因此如果您知道(总是)需要多个连接,最好指定MinPoolSize,因为这样可以确保这些连接可用。

另外,来自MSDN

如果MinPoolSize 要么未在连接字符串中指定,要么 指定为零,池中的连接将在一个 不活动的时期。但是,如果指定的 MinPoolSize 更大 大于零,连接池 直到 AppDomain 被销毁 卸载并且进程结束。维护非活动或空池 涉及最小的系统开销。

【讨论】:

  • 谢谢蒂姆!你是怎么找到这个的?我在网上搜索了很多地方,但没有找到这么好的规范。
  • 我刚刚查看了 MSDN 页面并搜索了MinPoolSize
猜你喜欢
  • 1970-01-01
  • 2019-09-17
  • 1970-01-01
  • 2017-08-28
  • 1970-01-01
  • 2019-06-09
  • 2015-11-21
  • 1970-01-01
  • 2011-07-12
相关资源
最近更新 更多