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