6

当我们测试 Web 应用程序的性能时,人们通常关注什么?是http响应时间吗?还是页面在收到来自服务器的响应后在客户端浏览器上完全加载/呈现所花费的时间?

整个行业的一般衡量标准是什么?你对什么时候应该做有什么建议吗?

你有相同的工具推荐吗?

在客户端收到响应后,我可以使用 Visual Studio Web 测试来衡量网页加载/呈现时间方面的性能吗?还是只是http响应时间?

4

1 回答 1

3

总之三个字:性能真的很重要!

我的黄金法则很简单:你必须衡量一切并优化一切。这不仅是一项纯粹的技术挑战,还涉及您的业务团队。以下是 Velocity Conf 的一些经典示例。

  • 应——慢 2 秒的页面导致收入/用户下降 4.3%。
  • 谷歌——400 毫秒的延迟导致搜索/用户下降 0.59%。
  • 雅虎!– 400 毫秒的减速导致整页流量下降 5-9%。
  • Shopzilla – 将网站速度提高 5 秒,转化率提高了 7-12%,搜索引擎营销的会话数量增加了一倍,所需的服务器数量减少了一半。
  • Mozilla – 将登陆页面缩短 2.2 秒后,下载转化率提高了 15.4%,他们估计这将导致每年 6000 万次 Firefox 下载。
  • Netflix – 采用单一优化 gzip 压缩后,速度提高了 13-25%,并将出站网络流量减少了 50%。

整个行业的一般衡量标准是什么?你对什么时候应该做有什么建议吗?

来自 Web 性能优化的先驱 Steve Souders,“80-90% 的最终用户响应时间都花在了前端” 首先从这里开始:太多的请求、未优化的图像、未缩小的内容 (js/css) ,不要通过cdn分发静态是常见的错误。

另一方面,不要忘记你的后端,因为这部分真的取决于负载和活动。由于后端问题,一些网站支付了最多的性能税。随着页面生成时间与用户负载成比例增加,您必须找到应用程序的吞吐量峰值并检查您自己的 SLA 是否可以。

你有相同的工具推荐吗?

没有涵盖所有主题的神奇工具,但有许多很棒的工具可以帮助您的应用程序的特定部分。

  • 页面渲染:Google Chrome SpeedTracer 或 IE 11 UI 响应工具
  • 前端:PageSpeed、YSlow、WebPageTest.org(在线)、GtMetrix(在线)、Pingdom(在线)
  • 后端:asp.net Mini-Profiler、Glimpse、Visual Studio Profiler 和 Visual Studio Web/负载测试
    • Google Analytics for RUM(真实用户监控)

在客户端收到响应后,我可以使用 Visual Studio Web 测试来衡量网页加载/呈现时间方面的性能吗?还是只是http响应时间?

不,Visual Studio Web 和负载测试仅关注 HTTP 请求。Javascript 未执行且虚拟用户不是虚拟浏览器:无法测量页面加载/更新时间。在我的公司,我们只将它用于集成测试和负载测试。

如果您想阅读更多内容,可以查看此帖子(免责声明:我是作者)。另一个感兴趣的链接来自 Jeff Atwood(StackOverflow 的联合创始人),Performance is a feature

性能是一个广泛的话题,我在这里只介绍了一小部分,但你有一个很好的起点。

于 2013-12-20T14:42:00.357 回答