tsi*_*ilb 5 c# sql connection-pooling query-optimization linq-to-sql
我有一个.NET 4.0 Winform和一个.NET 4.0 Windows服务,它们都通过LINQ to SQL连接到SQL 2005/2008数据库.它在我们的测试环境中运行良好且快速,完美克隆生产数据,但在生产环境中,它运行速度非常慢,CPU使用率和带宽使用率也很低.我还注意到每天有数百个SQL超时,即使对于索引良好的数据库上的最小查询也是如此.所以我解雇了Profiler ......
我发现sp_reset_connection在加载10分钟的捕获期间占SQL SQL总持续时间的三分之一和所有SQL调用总数的90%.
我在运行该服务的应用程序服务器上具有Admin访问权限.我接下来在他们运行Winform的终端服务器上没有访问权限,也没有访问SQL服务器.
什么原因导致sp_reset_connection经常运行?
找到了一些关于此的其他页面,其中一个建议是这样的:
对于重置连接,请在使用之前打开 DataContext 连接并在最后关闭它。
db.Connection.Open()
... work...
db.Connection.Close()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1143 次 |
| 最近记录: |