【发布时间】:2009-05-27 10:43:42
【问题描述】:
我们在 W2003 Web 服务器上运行的大约 30 个站点中只有 1 个出现问题。
可能在一天中大约 25% 的时间里,网站不断返回:SQL 的各种连接上的 SQL 超时错误(使用 ODBC)
我已经检查并更新了 ODBC 驱动程序到我能找到的最新版本(3.5.x?),并且我还在检查 SQL 服务器以查看是否有问题(通过 Gb LAN 连接的同一网络上运行的另一台服务器)
IIS 日志文件返回“[Microsoft][ODBC_SQL_Server_Driver]Timeout_expired”
我今天早上遇到了这个问题,因此尝试重新启动 SQL 服务器以查看它是否是与负载相关的问题或其他问题 - 但该站点在重新启动后大约 20 分钟内继续生成这些错误(即使我们所有其他网站此时正在工作)-然后它停止超时,现在又开始工作了。
我尝试延长网站的 SQL 连接超时,以查看这是否改变了某些内容,但它似乎没有做任何事情。
这个网站已经连续运行了大约 3 年,没有出现任何问题,而且我们已经有一段时间没有更改我们服务器上的任何内容 - 这开始于圣诞节前后发生,但从那以后变得越来越规律。
我已经检查了所有代码以确保数据库连接正确打开/关闭(站点是经典的 ASP),并确保它不会打开太多并发连接 - 但一切都无济于事,我正在开始没有想法了……有人吗?
我唯一的想法是更改为 OLEDB 连接而不是 ODBC - 但在我这样做之前,我想检查一下我是否错过了可以先尝试的其他东西。
提前致谢!
卡尔。
【问题讨论】:
-
我已经安装了一些软件来监控 SQL 的性能,这给了我一些有趣的信息 - 但我对如何有效地使用它有点茫然......我的 Seek Time Writes(磁盘等待时间,MS)似乎需要 60 毫秒到 140 毫秒之间 - 正常报告约为 10 到 15 毫秒。此外,高速缓存命中(逻辑读取/物理读取)似乎非常糟糕,物理读取(每秒 RW)似乎在 150 毫秒到 400 毫秒之间......这意味着什么?在明信片上回答......
标签: sql iis asp-classic ado