Web性能的概念
Web 性能是网站或应用程序的客观测量和感知用户体验。这包括以下主要领域:
- 减少整体加载时间:渲染网站所需的文件下载到用户计算机需要多长时间?这往往会受到延迟、文件大小、文件数量以及其他因素的影响。一般的策略是使文件尽可能小,尽可能减少 HTTP 请求的数量,并采用巧妙的加载技术(例如preload)使文件更快可用。
- 使网站尽快可用:这基本上意味着以合理的顺序加载您的网站资产,以便用户可以真正快速地开始实际使用它。当用户继续主要任务时,任何其他资产都可以在后台继续加载,有时我们只在实际需要时才加载资产(这称为延迟加载)。网站开始加载后到达可用开始所需的时间的测量称为交互时间。
- 流畅性和交互性:应用程序是否感觉可靠且使用起来愉快?滚动流畅吗?按钮可以点击吗?弹出窗口是否可以快速打开,并且它们在打开过程中是否流畅地制作动画?为了让应用程序感觉流畅,有很多最佳实践需要考虑,例如使用 CSS 动画而不是 JavaScript 来制作动画,以及尽量减少由于 DOM 的变化而需要重新绘制 UI 的次数。
- 感知性能:网站在用户看来的速度比网站实际的速度对用户体验的影响更大。用户如何看待您的表现与任何客观统计数据一样重要,或者可能更重要,但它是主观的,并且不容易衡量。感知性能是用户的观点,而不是指标。即使操作需要很长时间(由于延迟或其他原因),也可以通过显示加载微调器或一系列有用的提示和技巧(或笑话,或其他任何东西)来让用户在等待时保持参与否则你认为可能合适)。这种方法比什么都不显示要好得多,这会让人觉得它需要更长的时间,并可能导致你的用户认为它已经坏了并放弃了。
- 性能测量:Web 性能包括测量应用程序的实际速度和感知速度,在可能的情况下进行优化,然后监控性能,以确保您优化的内容保持优化。这涉及许多指标(可以指示成功或失败的可衡量指标)和衡量这些指标的工具,我们将在本模块中讨论这些内容。
- 总而言之,许多特性都会影响性能,包括延迟、应用程序大小、DOM 节点数量、发出的资源请求数量、JavaScript 性能、CPU 负载等等。重要的是最小化加载和响应时间,并添加额外的功能来隐藏延迟,方法是尽快使体验尽可能可用和交互,同时异步加载体验的较长尾部。