我们有一个存储过程,全天有15个用户每天调用大约300,000次。我已经倾注了每一条线,它和我能得到的效率一样高。
通过4.0上的ASP.NET页面从基本Winterms上的旧版VB6应用程序访问存储过程。
当我查看SQL跟踪文件时,我看到以下内容:
我在第4步看到,读取和写入都很高,这是有道理的,因为它是在池中重用的连接的累积。
我关心的是需要多长时间,有时需要50毫秒,有时需要400毫秒,这完全是随机的。从文档中我读到“审核注销”是所有三个步骤的整个持续时间。但步骤1-3非常快,如0-5ms。为什么“审核注销”持续时间需要这么长时间?
答案 0 :(得分:6)
我现在正在“处理”类似的问题并偶然发现了这个问题 发布:http://social.msdn.microsoft.com/Forums/en/sqldatabaseengine/thread/84ecfe9e-ff0e-4fc5-962b-cffdcbc619ee
也许这(在上面提到的帖子中)是解决方案:
“我的分析中发现了一个错误。当连接出现时 拉出池,服务器发送一个sp_reset_connection。 该重置调用audit_logout,然后调用audit_login。该 下次audit_logout直到下次连接时才会发生 退出游泳池...所以我看到的间隔时间很长 应用程序处理查询结果的时间,释放 连接到连接池,做任何事情,最后拉 连接退出池以开始下一个事务。“