1

我目前正在尝试对公司 Web 应用程序的 UI 进行性能调整。该应用程序只能由员工访问,因此服务器和客户端之间的连接速度总是比在互联网上快得多。

我一直在使用 Y Slow 等性能审计工具!和谷歌浏览器的分析工具,用于尝试突出值得调查的区域。但是,这些工具是在考虑 Internet 的情况下编写的。例如,Google Chrome 审核应用程序的当前建议如下:

网络利用率

  • 合并外部 CSS(红色警告)
  • 合并外部 JavaScript(红色警告)
  • 启用 gzip 压缩(红色警告)
  • 利用浏览器缓存(红色警告)
  • 利用代理缓存(琥珀色警告)
  • 最小化 cookie 大小(琥珀色警告)
  • 跨主机名并行下载(琥珀色警告)
  • 提供来自无 cookie 域的静态内容(琥珀色警告)

网页性能

  • 删除未使用的 CSS 规则(琥珀色警告)
  • 使用普通的 CSS 属性名称而不是供应商前缀的名称(琥珀色警告)

考虑到连接速度和使用模式,这些建议是否完全多余?用户将在一天中频繁使用该应用程序,因此初始点击量是否很大(当他们第一次访问页面并构建缓存时)并不重要,只要对未来的页面视图完成最少的工作即可.

例如,合并我们所有的 CSS 和 JavaScript 文件是否值得?它可能会加快初始页面查看速度,但它会对整个工作日的后续页面查看产生多大的影响?

我试过搜索这个,但我一直想出的只是面向互联网的标准性能建议。任何关于在这种情况下将我的性能调整工作重点放在什么上的任何建议,或其他审计工具建议,都将不胜感激。

4

3 回答 3

3

一种尺寸并不适合所有这些东西。立即跳出会产生重大影响的项目是“利用浏览器缓存”。这显然减少了带宽使用,但也告诉浏览器它不需要重新解析你缓存的任何内容。即使你有足够的带宽,你下载的每个文件都需要来自浏览器的资源——一个管理下载、文件解析、管理内存等的线程。减少这些将使应用程序感觉更快。

GZIP 压缩可能是多余的,如果您确实拥有无限带宽,甚至可能有害 - 它会消耗服务器和客户端上的资源来压缩数据。不多,而且我从来没有能够测量过——但理论上它可能会有所作为。

代理缓存也可能有所帮助 - 取决于您公司的网络基础设施。

减少 cookie 大小可能会有所帮助——不仅因为带宽问题,而且管理 cookie 会再次消耗客户端上的资源;这也解释了为什么从无 cookie 域提供静态资产会有所帮助。

但是,如果您要优化 UI 的性能,您确实需要了解减速的位置。Y!Slow 和 Chrome 专注于常见问题,其中许多与带宽和浏览器的行为有关。他们不知道 JS 的某个特定部分是否很慢,或者服务器是否在处理特定的动态页面请求。

像 Firebug 这样的工具可以帮助解决这个问题 - 查看网络正在发生的事情,以及是否有任何资产花费的时间比您预期的要长。使用 JavaScript 分析器查看您花费最多时间的地方。

于 2012-11-05T17:16:10.310 回答
1

这些工具中的大多数都提供了一次性检查的步骤或建议。然而,它解决了一些问题,它并没有告诉您用户如何体验您的网站。Always Real 用户监控是衡量实时用户性能的正确解决方案。您可以使用Navigation Timing API来测量页面加载时间和资源时间。

如果你想找服务,你可以试试https://www.atatus.com/,它提供了真实用户监控、Ajax 监控、事务监控和 JavaScript 错误跟踪。

于 2015-09-28T14:18:16.127 回答
0

以下是可用于测试网站速度的附加服务列表:http: //sixrevisions.com/tools/free-website-speed-testing/

于 2012-11-05T17:01:43.927 回答