【发布时间】:2020-11-25 13:53:15
【问题描述】:
我有一个位于 IIS 上的 Web 服务,几个月来一直运行良好,但现在我遇到了超时,我不知道如何诊断问题所在。
客户端将“心跳”消息中的基本信息发送到 IIS,然后 IIS 在 SQL 数据库中更新这些信息(在不同的服务器上)。野外有 250 个客户端,所有客户端每 5 分钟发送一次他们的心跳...所以表中只有 250 行,并在用于更新的列上有适当的索引。
通常只需要 50-100 毫秒即可完成更新,但从上周开始,您可以看到 IIS 日志中的响应时间增加了,而且我也遇到了超时。
设置没有任何改变,所以我不知道我在寻找什么来确定原因。我得到的错误是:
System.ServiceModel.FaultException:更新时出错 条目。有关详细信息,请参阅内部异常。发生错误 在更新条目时。请参阅内部异常 details.Execution Timeout 已过期。超时时间过去之前 操作完成或服务器没有响应。这 语句已终止。等待操作超时
关于从哪里开始寻找的任何建议?我确实在 IIS 中启用了失败的请求日志跟踪,但如果我完全诚实的话,我不知道这一切意味着什么。成功的请求和失败的请求之间的区别在于请求日志在“AspNetStart”条目之后停止。
谢谢! 标记
【问题讨论】:
-
这是 IIS 和 SQL Server 之间的唯一交互,还是有其他查询正常工作并且这是唯一有问题的查询?
-
还有其他查询正常工作,但也有其他服务偶尔会出现超时或握手错误。不一致。
-
是否还有其他东西使用该表 - 即是否有其他东西锁定了它,从而阻止您的查询被及时处理?
-
不,只有这个网络服务使用那个表。
-
您需要确定是 SQL Server 问题、IIS 问题还是基础设施问题(例如不可靠的以太网电缆)。由于其他查询正在工作,我认为这不是电缆。对于第一个,假设您对 SQL Server 有足够的访问权限,也许搜索“sql server query has become slow”会给您一个调查的地方。
标签: sql-server entity-framework web-services iis