我正在构建一个Web应用程序,其中一项任务是提高性能。我想知道任何可用于计时网页的工具。
例如,我需要能够向管理员记录特定页面加载需要5秒钟,现在需要1秒钟。
是否有任何工具可以帮助解决这个问题?它不是可公开访问的网站,而是用ASP.NET MVC编写的。
答案 0 :(得分:2)
我使用fiddler来测试我的网页的性能。
虽然默认情况下会忽略localhost请求,但即使是那些使用在线提供的各种提示的人,例如here或here
,也可以使其正常工作通常对于任何请求,它会为您提供如下所示的时间信息
ACTUAL PERFORMANCE
--------------
ClientConnected: 11:02:55.765
ClientBeginRequest: 11:02:55.765
ClientDoneRequest: 11:02:55.765
Gateway Determination: 0ms
DNS Lookup: 0ms
TCP/IP Connect: 0ms
ServerConnected: 11:02:55.765
FiddlerBeginRequest: 11:02:55.765
ServerGotRequest: 11:02:55.765
ServerBeginResponse: 11:02:55.890
ServerDoneResponse: 11:02:56.546
ClientBeginResponse: 11:02:56.546
ClientDoneResponse: 11:02:56.546
Overall Elapsed: 00:00:00.7812500
编辑:您还可以将整个会话保存为会话存档 - 可用于记录特定事件序列的结果和已达到的性能。这可以用作“文档”,以打动您的经理并跟踪绩效改进。
编辑:你也可以save Fiddlers session as a Visual Studio web test。这有助于创建测试,尤其是在使用Visual Studio Web测试工具时
答案 1 :(得分:0)
我通过在访问日志中记录响应时间来处理此问题。 Apache支持此功能,因此您可以通过代理服务器进行代理。 IIS可能以自定义日志格式支持相同的内容。但是,在服务器端登录仅涵盖页面的传送速度。
感知响应时间在很大程度上取决于正确的HTML和CSS。为包含的内容提供大小可以显着加快页面的呈现时间。它可以允许页面的可见部分在页面下载完成之前呈现和稳定。
CSS,脚本库和图像等附带内容的下载时间也会对感知响应产生重大影响。
客户端Web测试工具可以为此类工作提供更好的解决方案。如果操作正确,他们还会证明您没有破坏网站。
答案 2 :(得分:0)
Chrome和Safari可以使用其开发工具衡量页面加载时间。 Fiddler也可以做到这一点,虽然它不会给你很好的聚合图片。我怀疑Firebug也能做到这一点,但我从未使用它,所以不能保证它。
请注意,这些是用于手动测量的。有更复杂的工具,如果您想进行自动完美测试,将运行多个场景,聚合数据并将其与基线进行比较,以便为您提供变化的增量。如果您居住在Microsoft世界中,则可以使用Visual Studio集成测试工具或独立的Web Capacity Analisys Tool。如果您生活在开源世界中,请查看Apache JMeter。当您搜索“网页性能测试”时,还会显示许多第三方工具。