ado. net本身已经具备连接功能, .net开发基本无需考虑连接问题,因此在网上很难找到关于**.net 连接池的资料。只需要在连接字符串中进行配置,就可以使用.net**连接池。通过连接字符串关键字来控制Connection Pool。ConnectionString属性是SQLConnection对象的一个属性,支持一对连接串/值,用于调整连接池行为。下表描述了ConnectionString的值及其含义。
|
名称 |
默认值 |
描述 |
|---|---|---|
|
Connection Lifetime |
0 |
当连接返回池时,如果存在时间超过Connection Lifetime,则被释放,对于新加入集群的服务器平衡很有用。值为0时,连接没有最大时间限制。 |
|
Connection Reset |
'true' |
确定从池中移除时数据库连接是否重置。 |
|
Enlist |
'true' |
当为true时,池自动登记当前创建线程的操作上下文(如果存在)。 |
|
Max Pool Size |
100 |
池中允许的最大连接数。 |
|
Min Pool Size |
0 |
池中允许的最小连接数。 |
|
Pooling |
'true' |
当为true时,连接从相应的池中被取出,如果需要则创建或添加到相应的池中。 |
连接池性能计数器 .NET Data Provider为SQL Server添加了一些性能计数器,以便用户可以调整连接池特性。下面是一些计数器的描述:
SqlClient: 缓冲的和非缓冲的连接数
当前连接数
SqlClient: 当前缓冲的连接数
在池中与当前进程关联的所有连接
SqlClient: 当前连接池数
与当前进程连接的池数
SqlClient: 最大缓冲连接数
从进程开始以来使用的最大连接数。
