在我们的ASP.Net网站,我们收到一些请求超时.AppDynamics显示SQL过程调用在几秒钟内返回,但我们在SniredSyncOverSync上花费了100多秒.
有人知道这个方法是什么,为什么要花那么多时间吗?我们没有使用EF,我能找到的每一个问题/帖子都提到了它.
提前谢谢
Update个
已经有一段时间了,虽然我们从未就为什么所有的时间都花在SniredSyncoverSync上达成一致,但我有一些 idea .
我认为在这种情况下,可能是特定版本的AppDynamics报告SQL调用所花费的时间的方式,但我没有真实的数据来支持这一点,只是根据我观察到的情况进行猜测.我们最终不再看到报告的时间花在SniredSyncoverSync上,而是转移到查询本身超时上.
这仍然没有多大意义,因为相同的查询会立即在同一数据库的SSMS中运行.
最终的答案与ARITHABORT有关,它导致我们的应用程序和SSM使用两种不同的执行计划(见https://dba.stackexchange.com/a/9841),这解释了为什么我们不能用SSM重现超时.
一旦我们解决了这个问题,我们就能够确定过程中需要调优的几个部分,此后就再也没有遇到无法解释的超时或SNIReadSyncOverAsync.