【发布时间】:2013-03-25 21:10:22
【问题描述】:
我们在 IIS 7.5 上有一个经典的 ASP 网站。
用户随机遇到响应缓慢的问题。发生这种情况时,用户会在几分钟内无法做任何事情,这非常令人沮丧。
例如,我可以打开主页,然后通过类别单击几次,然后网站就停止响应。
当网站停止响应时,我没有注意到任何规则。有时,它一直运行良好,有时它会停止。
当它响应缓慢时,我可以等待几分钟然后获取页面。我试图停止页面加载并刷新页面,但这没有帮助。发生这种情况时,我无法刷新页面,也无法转到其他页面。网站上的每个页面都没有响应。
但是,如果我打开其他浏览器,假设我在 Chrome 中打开 IE,新浏览器中的站点又快了。
我唯一的线索是,如果我在客户端删除 ASP 会话 cookie,那么在同一个浏览器中再次加载页面会很快。所以,这显然与 ASP 会话 cookie 有关。 IIS 或 ASP 引擎能否以某种方式阻止 ASP 会话?
我注意到,如果我快速点击网站,响应速度会更慢。看起来在几次快速点击后服务器可能会出于某种原因拒绝该会话?
另外,我不确定它是否有用并与问题相关,我经常看到许多不同的 ASP 会话 cookie。我想在浏览器中每个用户应该只有一个会话 cookie,但我看到几个不同的会话 cookie 具有不同的值。
有人见过类似的吗?知道如何解决这些偶尔出现的缓慢响应吗?
谢谢!
编辑: 我发现当响应缓慢时,我什至无法加载空的 ASP 页面(我用一行代码创建了页面,只是使用 Response.Write “工作”)。 当然,如果我在另一个浏览器中打开该页面,它很快就会工作。发生问题时,网站仅针对该会话挂起。如果我在其他浏览器中尝试同一页面或在同一浏览器中清除会话 cookie,页面加载速度很快。
【问题讨论】:
-
通常的原因是数据库查询失控。在不知道您的应用如何工作的情况下,这个问题不是很容易回答。
-
我怀疑它是数据库,因为每个页面都可能会出现响应缓慢的情况。没有规则。发生问题时,网站上的任何页面都无法访问。但是,如果我手动清除 ASP 会话 cookie,那么网站又快了。另外,如果我打开另一个浏览器,网站也会很快。
-
那是一个强硬派。您可能想改为在 serverfault.com 上发帖。我认为您不会在这里找到答案。
-
您在会话 cookie 中存储了多少信息?
-
查看 IIS 日志以查找执行时间较长和/或状态码为 500 的请求。除了 DB 响应时间长外,外部 ActiveX 组件(例如 OWC)可能会发生挂起。此外,检查您的代码是否存在无限循环和 application.lock/application.unlock 语句。
标签: asp-classic iis-7.5 session-cookies