博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
原来自己对连接字符串中Min Pool Size的理解是错误的
阅读量:5795 次
发布时间:2019-06-18

本文共 915 字,大约阅读时间需要 3 分钟。

假设我们在一个ASP.NET应用程序的连接字符串中将Min Pool Size设置为30:

访问一下应用程序,然后用Windows Performance Monitor监测一下.NET Data Provider for SqlServer -> NumberOfPooledConnections(连接池中的连接总数):

 

连接池中的连接总数不是30,而是60(见上图)。Min Pool Size=30,为什么NumberOfPooledConnections会是60?

用Performance Monitor监测一下.NET Data Provider for SqlServer -> NumberOfActiveConnectionPools:

 

原来有2个连接池(Connection Pool),60(NumberOfPooledConnections) = 30(Min Pool Size) × 2(NumberOfActiveConnectionPools),60就是这么来的。

假如这时应用程序中需要的数据库连接数超过60,情况会怎么样呢?

NumberOfPooledConnections会变为90,也就是说ADO.NET创建了一个新的连接池(NumberOfActiveConnectionPools由2变为3),并且这个连接池中包含30个连接(Min Pool Size = 30)。

当发现这个时,我才知道自己以前对Min Pool Size的理解完全是错误的。以前以为只有一个连接池,当设置了Min Pool Size = 30,在初始化创建连接池时,会创建30个数据库连接;当30个连接不够用时,会需要多少就创建多少。

而MSDN中对Min Pool Size的真够简单:The minimum number of connections maintained in the pool. 

再次证明了实践出真知。

转载于:https://www.cnblogs.com/dudu/archive/2013/04/16/min_pool_size_connection_pool.html

你可能感兴趣的文章
Centos7:Failed to start LSB: Bring up/down networking
查看>>
小程序中模板的使用
查看>>
chrome启动参数之
查看>>
MySql(十八):MySql架构设计——高可用设计之 MySQL 监控
查看>>
关于springmvc的helloworld的压测报告
查看>>
ASP.NET Session丢失问题原因及解决方案[转]
查看>>
Win7 隐藏的功能介绍:问题步骤记录器
查看>>
电子书下载:The Rails 3 Way, 2nd Edition
查看>>
pmwiki 安装和基本配置
查看>>
电子书下载:ASP.NET 4.0 in Practice
查看>>
CS 系统框架二
查看>>
开放产品开发(OPD):OPD框架
查看>>
【Java】操作Sqlite数据库
查看>>
做好PM的几个要素
查看>>
Flex通过Blazeds利用Remoteservice与后台java消息推送
查看>>
Vim的使用 区域选择
查看>>
.Net 中的反射(查看基本类型信息) - Part.2
查看>>
[转]C#中捕捉对话框的文本内容 EnumChildWindows
查看>>
AutoResetEvent和ManualResetEvent用法
查看>>
premake在Ubuntu和GCC环境下创建简单的C++工程
查看>>