0

就连接池而言,为 Internet 上至少有 500 个实时用户的 Web 应用程序定义连接字符串的最佳方法是什么。以及要考虑的负载因素?

假设我有如下连接字符串:

initial catalog=Northwind; Min Pool Size=20;Max Pool Size=500; data source=localhost; Connection Timeout=30; Integrated security=sspi"

由于最大池大小为 500,并且当实时用户超过 500 时说 520,剩余的 20 名用户会体验到较慢的页面加载吗?

或者,如果我有如下连接字符串,其中没有谈到池或连接超时怎么办?那么应用程序的行为如何?

initial catalog=Northwind; data source=localhost; Integrated security=sspi"

但是,我正在使用“使用语句”来访问 MYSQL 数据库。

4

2 回答 2

0

用户不会持续使用连接 - 它只会用于数据库查询然后返回到连接池(也就是说, 500 个用户不太可能同时使用 500 个连接)。

如果连接池耗尽,的,额外的数据库用户将不得不等待新的连接,并且可能会获得较慢的体验(如果不是完全错误的话)。

于 2012-08-30T09:37:07.643 回答
0

您不必为每个用户声明连接。幸运的是,这一切都由您的 SQL Server 管理。连接池将用于处理所有传入的查询。

请查看 MSDN http://msdn.microsoft.com/en-us/library/8xx3tyca(v=vs.100).aspx

很重要的一点

注意 我们强烈建议您在使用完毕后始终关闭连接,以便将连接返回到池中。您可以使用 Connection 对象的 Close 或 Dispose 方法,或者通过在 C# 中的 using 语句或 Visual Basic 中的 Using 语句中打开所有连接来执行此操作。未明确关闭的连接可能不会添加或返回到池中。有关详细信息,请参阅 using 语句(C# 参考)或如何:处理 Visual Basic 的系统资源 (Visual Basic)。

于 2012-08-30T10:29:45.177 回答