超时已过。在操作或服务器完成之前超时期限已过。等待操作超时 - 奇怪的行为
Timeout expired. The timeout period elapsed prior to completion of the operation or the server. The wait operation timed out - strange behavoiur
我知道在SO中有很多这样的主题,但是想介绍一下我的具体例子。
当来自 Web 应用程序(ADO.NET、ASP.NET MVC)的 运行 操作出现错误时:
超时已过。在操作或服务器完成之前超时期限已过。等待操作超时
但是从二手数据来看,当 运行 直接在 db 原始查询(由分析器捕获)上只需要 2 秒。
背景:
- 问题突然出现(发布后一周)并且只发生在产品服务器中。
- 这个特定查询的超时是 180 秒,对于 http 请求是 24000 [单位] - 可能也是秒(根据 MSDN)
- 我们没有全文索引
- 当用户通过一个 "fretext"(普通文本框)字段搜索生成查询时,仅针对一个特定查询发生错误
附加 10-12 "or like %value%" 条件(从一开始就完成的方式,没有机会改变它)
- 奇怪的是非常相似的查询(对于其他 "freetext" 具有相同数量 "or like %value%" 的字段)工作没有任何问题
- 事务隔离级别 = 序列化
- 每个查询都以相同的方式进行数据绑定(controller->service->db->service->view model->html),实际上我们的
框架自动将 "select" 查询中的字段绑定到 viewModels
- 原始查询(由探查器捕获)运行 很快(2-3 秒)但从 webApp 级别返回超时。
- 我无法直接访问生产服务器,所以我无法立即检查所有内容,我也无法共享任何内容 code/stacktraces。
建议:
找到很多类似的帖子,这个对我来说特别有趣:,并且想知道如何清除统计信息 (exec sp_updatestats)。
问题:
您是否有类似的经历,也许还有其他建议?原始查询 运行 在短时间内,但来自 webapp 超时的原因可能是什么?
这很可能是由为不同选项缓存的不同执行计划造成的。
看看这些问题:
和
Why is some sql query much slower when used with SqlCommand?
我知道在SO中有很多这样的主题,但是想介绍一下我的具体例子。
当来自 Web 应用程序(ADO.NET、ASP.NET MVC)的 运行 操作出现错误时: 超时已过。在操作或服务器完成之前超时期限已过。等待操作超时
但是从二手数据来看,当 运行 直接在 db 原始查询(由分析器捕获)上只需要 2 秒。
背景:
- 问题突然出现(发布后一周)并且只发生在产品服务器中。
- 这个特定查询的超时是 180 秒,对于 http 请求是 24000 [单位] - 可能也是秒(根据 MSDN)
- 我们没有全文索引
- 当用户通过一个 "fretext"(普通文本框)字段搜索生成查询时,仅针对一个特定查询发生错误 附加 10-12 "or like %value%" 条件(从一开始就完成的方式,没有机会改变它)
- 奇怪的是非常相似的查询(对于其他 "freetext" 具有相同数量 "or like %value%" 的字段)工作没有任何问题
- 事务隔离级别 = 序列化
- 每个查询都以相同的方式进行数据绑定(controller->service->db->service->view model->html),实际上我们的 框架自动将 "select" 查询中的字段绑定到 viewModels
- 原始查询(由探查器捕获)运行 很快(2-3 秒)但从 webApp 级别返回超时。
- 我无法直接访问生产服务器,所以我无法立即检查所有内容,我也无法共享任何内容 code/stacktraces。
建议:
找到很多类似的帖子,这个对我来说特别有趣:,并且想知道如何清除统计信息 (exec sp_updatestats)。
问题:
您是否有类似的经历,也许还有其他建议?原始查询 运行 在短时间内,但来自 webapp 超时的原因可能是什么?
这很可能是由为不同选项缓存的不同执行计划造成的。
看看这些问题:
和
Why is some sql query much slower when used with SqlCommand?