等待操作超时。 ASP
问题描述:
我为我们公司创建了一个内部网站。它运行了好几个月,然后根据用户的建议做了重大更新。当我运行时,它正常运行。然后突然,我的一位来自日本的用户向我发送了“等待操作超时”。错误。当我检查访问某个链接时,它对我和其他一些我请求检查他们是否访问该页面的用户正常运行。我已经更新了httpRuntime executionTimeout,但仍然没有运气。它是否来自数据库连接的错误?如果我增加数据库连接的超时时间,它将解决问题?等待操作超时。 ASP
答
如果您发现确切的错误“等待操作超时”,那么很可能您的数据库调用花费的时间比预期的要长。这可能是由于任意数量的东西:
- 瞬态网络问题
- 高SQL服务器负载
- 问题的SAN,RAID或存储设备
- 死锁或多进程争 的其它形式的
您尚未分享足够的信息进行故障排除。我将要管理的方式是检查是否存在其他问题,并查看是否存在某种模式。如果问题发生在一天中的某个时间。
当然,增加超时并不是一个坏主意(如果它目前设置的很低),并且可以自行解决问题。
答
记住增加连接超时和命令超时:
SqlConnection(@"Data Source=SQLSERVER;Initial Catalog=MYCATALOG;Integrated Security=True;Connection Timeout=1000");//huge timeout
然后:
com.CommandTimeout = 950;//or whatever
是强制性的,如果我增加连接超时时间的SqlConnection也需要增加的CommandTimeout? – Vic
不,它不会抛出错误信息,但是如果没有其他信息,就不会有太大的好处。如果您的连接超时设置为30,则将命令超时增加到60或反之亦然。当两个数字中的较低者达到时,整个she-bang将取消并暂停。 –
至少在Sql Server中,连接超时是建立连接需要多长时间。它与连接的生命周期没有任何关系。命令超时与命令执行需要多长时间有关。 – Brian