我们期待有大量的用户访问我们的SQL Server 2008数据库服务器为其提供数据的IIS / .Net 4.0构build的网站。 数据库大小约2GB。 我们正在考虑将MAX CONNECTION POOL增加到500到1000之间 – 以处理估计的stream量。 两个问题
(1)有没有人有任何硬性能的数字表明可能提供的改进? (2)生产环境中MAX CONNECTION POOL号码的影响是什么?
这真的取决于应用程序以及它如何连接。 “连接池减less了必须打开新连接的次数,池可以维护物理连接的所有权,通过为每个给定的连接configuration保持一组活动连接来pipe理连接,每当用户在连接上调用Open时,池会在池中寻找一个可用的连接,如果有一个池连接可用,它将它返回给调用者,而不是打开一个新的连接,当应用程序在连接上调用Close时,池将其返回给活动的池集连接,而不是closures连接,一旦连接返回到池中,就可以在下次打开呼叫时重新使用。
只有具有相同configuration的连接才能被集中。 ADO.NET同时保留多个池,每个configuration一个。 通过连接string将连接分为多个池,并在使用集成安全性时通过Windows身份进行分隔。 连接也根据他们是否入选事务进行合并“-from http://msdn.microsoft.com/en-us/library/8xx3tyca.aspx
请注意,如果您执行的代码蹩落,则无法将连接返回到池,因此可能会由于其他阻塞问题而降低性能。
只要#2去,你的连接排队,直到应用程序closures任何连接。