分析Web应用程序请求

时间:2010-11-05 02:58:28

标签: asp.net-mvc profiling

我正在构建一个Web应用程序,其中一项任务是提高性能。我想知道任何可用于计时网页的工具。

例如,我需要能够向管理员记录特定页面加载需要5秒钟,现在需要1秒钟。

是否有任何工具可以帮助解决这个问题?它不是可公开访问的网站,而是用ASP.NET MVC编写的。

3 个答案:

答案 0 :(得分:2)

我使用fiddler来测试我的网页的性能。

虽然默认情况下会忽略localhost请求,但即使是那些使用在线提供的各种提示的人,例如herehere

,也可以使其正常工作

通常对于任何请求,它会为您提供如下所示的时间信息

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测试工具时 alt text

答案 1 :(得分:0)

我通过在访问日志中记录响应时间来处理此问题。 Apache支持此功能,因此您可以通过代理服务器进行代理。 IIS可能以自定义日志格式支持相同的内容。但是,在服务器端登录仅涵盖页面的传送速度。

感知响应时间在很大程度上取决于正确的HTML和CSS。为包含的内容提供大小可以显着加快页面的呈现时间。它可以允许页面的可见部分在页面下载完成之前呈现和稳定。

CSS,脚本库和图像等附带内容的下载时间也会对感知响应产生重大影响。

客户端Web测试工具可以为此类工作提供更好的解决方案。如果操作正确,他们还会证明您没有破坏网站。

答案 2 :(得分:0)

Chrome和Safari可以使用其开发工具衡量页面加载时间。 Fiddler也可以做到这一点,虽然它不会给你很好的聚合图片。我怀疑Firebug也能做到这一点,但我从未使用它,所以不能保证它。

请注意,这些是用于手动测量的。有更复杂的工具,如果您想进行自动完美测试,将运行多个场景,聚合数据并将其与基线进行比较,以便为您提供变化的增量。如果您居住在Microsoft世界中,则可以使用Visual Studio集成测试工具或独立的Web Capacity Analisys Tool。如果您生活在开源世界中,请查看Apache JMeter。当您搜索“网页性能测试”时,还会显示许多第三方工具。