【问题标题】:asp.net measure page load timeasp.net 测量页面加载时间
【发布时间】:2015-01-23 12:52:09
【问题描述】:

我需要在 asp.net 项目中测量页面加载时间,所以我从基本页面获取Page_PreInit 方法和Page_Unload 方法中的时间戳,但我的问题是这些事件被触发了两次。如何避免这种行为,因为在某些具有runat=server 的控件的Page_Load 事件中的某些子类中,值可能会从代码更改(绑定、索引更改等)?

PS:我必须将加载时间保存在隐藏字段中。

【问题讨论】:

  • 您只需使用浏览器工具计算从请求到获取第一个字节的延迟时间
  • 不知道你想要实现什么,但你不能简单地检查 PreInit 中设置的值而不覆盖它并总是在 Unload 中覆盖它吗?那么你有第一套和最后一套吗?
  • http 响应的加载时间将由安装在 Web 服务器上的第 3 方分析器读取,并将其插入数据库并根据此值生成报告。
  • 也许glimpse 是您想要的?

标签: c# asp.net page-load-time


【解决方案1】:

除了尝试测量服务器上的时间之外,您还可以使用浏览器工具测量时间,这里是一个示例。

我们测量了两次,一个是到第一个字节的延迟,第二个是完全加载页面的延迟。

所以我写了这段代码来模拟这种延迟。

protected void Page_Load(object sender, EventArgs e)
{
    System.Threading.Thread.Sleep(4000);
}

在 asp.net 上,将页面加载模拟为:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">    
</head><%Response.Flush();%>
<body>    
    <form id="form1" runat="server">
        <% System.Threading.Thread.Sleep(2000); %>    
    </form>
</body>
</html>

以下是使用浏览器网络工具查看延迟的方法:


(来源:planethost.gr

【讨论】:

  • 我需要在隐藏字段中写入值,因为该值将由第 3 方分析器自动读取并将结果添加到数据库中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-22
  • 2011-11-07
  • 2011-11-21
  • 2013-05-12
  • 1970-01-01
相关资源
最近更新 更多