为繁重的流量ASP.NET Web应用程序编写连接字符串的最佳实践

时间:2012-08-30 09:19:53

标签: asp.net ado.net traffic

在连接池方面,为互联网上至少有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数据库。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

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

重点

  

注意我们强烈建议您始终关闭连接   当您使用完毕后,将返回连接   到游泳池。您可以使用Close或Dispose方法执行此操作   Connection对象,或打开using中的所有连接   C#中的语句,或Visual Basic中的Using语句。连接   未明确关闭的可能不会被添加或返回给   池。有关更多信息,请参阅使用Statement(C#参考)或How   to:为Visual Basic配置系统资源(Visual Basic)。