c# – 数据库连接池如何影响性能?
我正在使用.Net 2.0 SQL Server 2005 Enterprise VSTS 2008 C#ADO.Net来开发ASP.Net Web应用程序. ASP.Net Web应用程序以数据库为中心/驱动.我想知道在ADO.Net连接字符串设置中打开/关闭线程池设置时是否有任何关于性能差异的性能参考数据?性能我的意思是可以支持的并发连接和从ADO.Net客户端执行的特定SQL命令的执行时间?
谢谢avdance, 解决方法
我手边没有任何性能统计数据,但在使用连接池时可能会发出警告:最终可能会出现太多小池,而不是一个大池.
ADO.NET将为其创建一个新的连接池 >每个连接字符串;它对此非常挑剔 – 如果你有两个连接字符串,即使只是一个空格或其他东西也是不同的,那些被认为是两个独立的连接字符串,并将导致创建单独的连接池 所以如果你有一个类似的连接字符串 server=MyDBServer;database=MyDatabase;integrated security=SSPI; 将创建一个用于每个可区分用户的连接池 – 这是相当反直觉的,但这就是它的方式(并且它不能被影响/关闭). 有关详细信息,请查看ADO.NET连接池上的MSDN docs:
此外,如果您有这两个连接字符串: server=MyDBServer;database=MyDatabase;user id=tom;pwd=top$secret 和 server=MyDBServer;database=MyDatabase;user id=tom; pwd=top$secret; 那些被认为是不同的连接字符串,因此将创建两个单独的连接池. 在尝试测量连接池的效果时,需要注意这一点! 渣 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |