【问题标题】:How can I get the total server AND client page load time?如何获得服务器和客户端页面的总加载时间?
【发布时间】:2012-09-23 08:04:12
【问题描述】:

我正在测量 ASP.NET 页面的性能。我需要测量两个部分:1)服务器页面加载时间(计算从数据库加载的数据绑定控件所需的时间)和 2)测量服务器的 PageLoad 事件启动的毫秒数和客户端已完成加载(因为我希望能够计算客户端浏览器下载和呈现 HTML 所需的时间)。

使用 StopWatch 类可以轻松测量服务器端加载时间。我需要建议的部分是捕获客户端加载的日期和时间。

这是我按此顺序执行的操作:

  • 服务器页面加载事件运行后,我将当前日期和时间写入隐藏字段。
  • 在客户端,我使用$(document).ready() 触发对返回服务器日期和时间的 WebMethod 的 AJAX 调用。
  • 然后我从隐藏字段中存储的日期字符串和 Webmethod 调用返回的日期字符串中解析日期和时间,并将它们的差异写入页面上的 span 元素。

我这样做是为了让客户端日期时间与服务器日期时间保持同步,因为某人的机器时间很容易相差几秒钟。但是,我认为 AJAX 调用本身会增加一点开销,这对性能测量会适得其反。

是否有一种准确的方法可以使用 GMT 将客户端时间与服务器时间同步,而无需向服务器报告以获得它?

【问题讨论】:

    标签: asp.net performance


    【解决方案1】:

    关于服务器端,可以在Page指令中设置Trace=true

    http://msdn.microsoft.com/en-us/library/94c55d08(v=vs.100).aspx

    【讨论】:

    • 帮助我理解这一点。似乎启用跟踪会在页面上放置一堆额外的 HTML。这不会增加下载时间,尤其是对于使用慢速 VPN 连接的用户?
    • 当然。并且一直在测量它的事实也给服务器增加了一些开销。也许您可以编写一些代码使其输出到文件系统中的某个日志文件,而不是写入同一页面..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-22
    • 2022-01-14
    • 1970-01-01
    相关资源
    最近更新 更多