说,我想计算加载ASP.NET页面所需的时间。当用户键入URL并按Enter键时,会发生以下事件:
如果我想衡量每项操作的时间,我的理解是我可以使用以下工具:
总结1到4给出了总时间。
我的想法是否正确?是否有一个工具可以完成所有这些工作?是否有更简单的方法
答案 0 :(得分:4)
Firebug实际上会在“网络”选项卡中为您提供1和3,并提供漂亮的小分割图形条,向您显示响应时间的组成部分(DNS查找,查询服务器,等待第一个字节) ,下载时间)。
由于服务器代码在服务器上运行,客户端代码在客户端上运行,因此实际上没有一个工具可以同时执行客户端和服务器测量。您可以简单地通过从总计中减去所有其他时间来近似,但最准确的服务器结果确实来自服务器本身。
答案 1 :(得分:1)
FireFox有一个插件支持这种需求:
Google Page Speed - 此工具可让您实时记录网络活动,然后查看请求的每个部分。它们需要多长时间以及哪些组件并行运行。
此外,如果您希望优化页面,YSlow可以提供其他建议,但它不会为您提供您要求的具体数据。
答案 2 :(得分:1)
对于第2点,
global.asax 中的
Private sw As Stopwatch = Nothing
Private Sub Global_asax_BeginRequest(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.BeginRequest
sw = Stopwatch.StartNew
End Sub
Private Sub Global_asax_EndRequest(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.EndRequest
If sw IsNot Nothing Then
sw.Stop()
Response.Write("<b>took " & sw.Elapsed.TotalSeconds.ToString("0.#######") & " seconds to generate this page</b>")
End If
End Sub
答案 3 :(得分:0)
Visual Round Trip Analyzer是一个很好的程序,它使用NetMon计算您的步骤#1,2和&amp; 3.它可以告诉您网络需要多长时间以及服务器上的处理时间。
步骤#4很难,因为不同的浏览器会开始以不同的时间显示内容。
答案 4 :(得分:0)
为什么不直接在.NET中使用浏览器控件并创建自己的应用来测试从初始请求到最终响应所需的时间?