我应该在数据库连接字符串中设置最大池大小吗?如果我不这样做会怎么样?

时间:2011-10-16 11:58:42

标签: sql sql-server-2008 connection-string connection-pooling

这是我的数据库连接字符串。到目前为止,我没有设置最大池大小。

public static string srConnectionString = 
                       "server=localhost;database=mydb;uid=sa;pwd=mypw;";

目前我的应用程序支持多少个连接?增加连接池大小的正确语法是什么?

该应用程序是用C#4.0编写的。

3 个答案:

答案 0 :(得分:71)

目前,您的应用程序支持池中的100个连接。如果你想将它增加到200,那么这就是conn字符串的样子:

public static string srConnectionString = 
                "server=localhost;database=mydb;uid=sa;pwd=mypw;Max Pool Size=200;";

您可以通过在数据库中执行sp_who过程来调查应用程序使用的数据库连接数。在大多数情况下,默认连接池大小就足够了。

答案 1 :(得分:9)

“目前是的,但我认为它可能会在高峰时刻引发问题” 我可以确认,由于峰值请求我遇到了超时问题。设置最大池大小后,应用程序运行没有任何问题。 IIS 7.5 / ASP.Net

答案 2 :(得分:-1)

我们可以通过以下方式定义最大池大小:

                <pool> 
               <min-pool-size>5</min-pool-size>
                <max-pool-size>200</max-pool-size>
                <prefill>true</prefill>
                <use-strict-min>true</use-strict-min>
                <flush-strategy>IdleConnections</flush-strategy>
                </pool>