【问题标题】:ASP.Net PerformanceASP.Net 性能
【发布时间】:2012-12-26 12:20:16
【问题描述】:

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

奇怪的事情:

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

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

提前致谢。

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

【问题讨论】:

  • 当你在 vs2010 中运行它时,你也有这么多时间来加载页面?
  • 是的,时间几乎一样
  • 你在那个页面上做什么......我的意思是在页面加载中?
  • 它只是从数据库中获取一些数据,但正如我之前所说,我已经计算了从进入页面加载到退出页面关闭的时间,最多不超过几秒钟
  • Received 的计量单位是什么?字节?千字节?

标签: asp.net vb.net iis performance-testing


【解决方案1】:

页面大小是多少?
使用 Mozilla Firefox。
下载萤火虫
why-slow yahoo 上安装插件。
并查看报告中的可用选项。

【讨论】:

  • 附上截图
  • 我现在看不到图片,因为我可以访问您的页面大小。
【解决方案2】:

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

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

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

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

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 2010-09-07
      • 2011-11-28
      • 1970-01-01
      • 2015-11-24
      • 1970-01-01
      • 2011-05-07
      • 2011-08-12
      • 1970-01-01
      相关资源
      最近更新 更多