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

这是我的数据库连接字符串。我没有设置最大池大小,直到现在。

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

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

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

221982 次浏览

当前您的应用程序支持池中的100个连接。如果你想把它增加到200,那么这里就是 conthstring 的样子:

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

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

“目前是的,但我认为它可能会在高峰时期造成问题” 我可以确认,我有一个问题,我得到了超时,因为高峰请求。在我设置了最大池大小之后,应用程序运行起来没有任何问题。 IIS 7.5/ASP.Net

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

                <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>

对于 Spring yml config:

spring:
datasource:
url: ${DB-URL}
driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
username: ${DB-USERNAME}
password: ${DB-PASSWORD}
hikari:
auto-commit: true
maximum-pool-size: 200

或者

Application-prod. properties 文件:

spring.datasource.hikari.maximum-pool-size=200