我正在测量 ASP.NET 页面的性能。我需要测量两个部分:1)服务器页面加载时间(计算从数据库加载的数据绑定控件所需的时间)和 2)测量服务器的 PageLoad 事件启动的毫秒数和客户端已完成加载(因为我希望能够计算客户端浏览器下载和呈现 HTML 所花费的时间)。
使用 StopWatch 类可以轻松测量服务器端加载时间。我需要建议的部分是捕获客户端加载的日期和时间。
这是我按此顺序执行的操作:
- 一旦服务器页面加载事件运行,我将当前日期和时间写入隐藏字段。
- 在客户端,我
$(document).ready()
用来触发对返回服务器日期和时间的 WebMethod 的 AJAX 调用。 - 然后,我从存储在隐藏字段中的日期字符串和从 Webmethod 调用返回的日期字符串中解析日期和时间,并将它们的差异写入
span
页面上的元素。
我这样做是为了让客户端日期时间与服务器日期时间保持同步,因为某人的机器时间很容易被关闭几秒钟。但是,我认为 AJAX 调用本身会增加一点开销,这对性能测量会适得其反。
是否有使用 GMT 将客户端时间与服务器时间同步的准确方法,而无需向服务器报告以获得它?