2

我正在我的系统上配置一个 ASP.Net (VB.Net) 应用程序。我有 Visual Studio 2010,还编译了代码并将编译后的版本部署在服务器上。在这两个地方,我在很长一段时间(超过一分钟)后都得到了页面的响应。

奇怪的事情:

我已经放置了代码来计算从进入页面加载处理程序到退出页面关闭处理程序所需的时间,这是正常的(不到一秒)。该应用程序没有任何 http 模块,它也没有 Global.asax,页面也没有其他覆盖的处理程序。

问题1:如果页面加载和页面关闭之间的时间如此之短,为什么响应时间太长?问题 2:我可以使用哪些技术来实际调试等待响应时发生的情况?

提前致谢。

-----更新--------- 为了回答下面 krshekhar 的问题,我附上了我从 HttpWatch 获得的页面响应的屏幕截图

在此处输入图像描述

4

3 回答 3

1

页面大小是多少?
使用 Mozilla 火狐。
下载 firebug
安装 add on why-slow yahoo add on。
并查看报告中可用的选项。

于 2012-12-26T12:26:01.410 回答
0

尝试从 Page_PreInit 事件到 Page_Unload 事件的计时。这应该给你一个更体面的看法。您发布的时间也是正常 LOAD 或 SUBMIT(或回发)事件的时间吗?

另外,您的数据库连接是在您的代码内部还是外部处理(即,时间是否能够赶上进行必要的网络连接所需的时间)?

于 2012-12-26T15:03:53.000 回答
0

您提到“页面关闭”处理程序 - 这是什么?页面关闭事件是浏览器事件,而不是服务器事件,所以我不清楚这是如何触发的。

从您的跟踪中,我假设 master.aspx 从发送客户端请求到完成渲染仅需要 31000 字节的信息需要 270 秒。鉴于这发生在本地以及部署到服务器时,这使得至少有一段代码可能需要花费大量时间来执行。

我建议首先将调试添加到您的页面加载事件中,以查看运行需要多长时间。我只需使用 Debug.WriteLine("Point x reached at " & Now.ToString("yyyy-MM-dd hh:mm:ss.nnn) 开始,让你知道你在什么时候打每段代码。从那里你可能会看到一个明显的区域,它需要很长时间。

如果您发现您的数据提取花费的时间比预期的要长,我一点也不感到惊讶 - 您是否使用多线程数据加载?

于 2012-12-26T14:14:44.050 回答