Skip to content

「译」衡量Web性能,多快才算快?

Posted on:2022-05-8 02:21

原作者:  Medhat Dawoud
原文链接:https://medhatdawoud.net/blog/measuring-web-performance

在生活中,任何难题都必须是有目标性的,以便于定性,或者能够被证明是可定性的。在软件性能方面,我们可以通过一些指标来很衡量具体的事物,以证明是否存在性能问题,并且确保这个问题以后能被修复。在这篇文章中,我们将继续我们的性能系列,回答一些问题,比如多快才算快?如何衡量web性能?有哪些测量工具?

用户可能没有注意到

正如我们在第一篇文章中谈到的认真对待性能背后的动机,我们需要使网络对使用低端设备和慢速连接的人来说是快速的,但我们什么时候可以说 “好吧,这已经是足够的性能优化了”?这是一个好问题,要回答这个问题,我们需要问另外一个问题:性能仅仅和快有关系吗?简短的答案:No。

如果要展开讲,性能需要视情况而定。我们有多个指标来说明我们的应用是否有足够的性能。想象一下,你正在为一些iPhone用户开发一个应用程序,而JS包的大小是2MB,我们也将假设他们连接到了快速的互联网上,你认为在这种情况下将包的大小优化为1.5MB值得吗? iPhone用户会注意到吗?我不这么认为,在我看来,在这种情况下,你是在浪费时间,而用户不会感觉到性能的不同。

从这里你可以知道,这取决于最终用户的设备和网络连接,也许并不总是需要深入优化的。

多快才算快?

换句话说,什么时候停决定停止做性能优化,你需要先掌握以下信息:

因为这一切都与用户体验有关,在你了解了上述内容后,你将能够设定你的优化界限,要收集所有这些信息,你有几种方法,使用分析工具,例如上面截图中的谷歌分析,这些信息非常重要,只有在你真正需要的时候才会进行优化,而不是浪费时间去优化一些用户无法注意的东西。

如何测量性能?

在你了解你的用户之后,你可以开始测试你的应用程序,模拟你的用户的最坏情况,并继续测量,直到你发现你的用户群体中最少的设备部分和最少的网络连接条件下的良好性能的应用程序。

如果你想确保你的优化后的结果是符合标准的,你可以使用一些基于长期用户研究的指标,如Core Web Vitals,这只是谷歌的一个倡议,以提高网络的整体用户体验。

Core Web Vitals

2020年 Google 发起了这个倡议,开始时只有3个新指标。

如果你能成功地使你的网站通过这些指标,并使他们的网站至少有75%的页面保持在所述的阈值之内,你可以说这是足够快和性能的。

这些新指标的酷之处在于,它们是为了用户的利益。如果网站创建者不注意加强它们,他们就会失去SEO排名,这意味着失去在线业务,因为这些指标现在对 SEO 排名有贡献,而这是 Google 强推 Core Web Vitals 的聪明之处(他们的游戏他们的规则)。

测量工具

现在,在我们了解了我们需要测量的东西之后,是时候学习如何测量它了,有2种类型的测量工具。

1. 实验室测试(又称同情性测试)

在你非常了解你的用户之后,如前面所解释的,你可以使用一些工具来模拟用户的情况,例如,通过节流CPU来尽可能地接近用户设备的CPU,在开发模式下使用这个方法是非常好的,可以在启动之前为性能状态设定一个基线。

你可以测量LCP和CLS,但不能测量FID,因为它需要真实的用户交互,但你可以依赖另一个指标,它也可以反映用户的输入延迟,这就是TBT(总阻塞时间)。

⚙️工具

还有一些可以使用的工具,但这些是我经常使用的,而且是免费的。

注意:所有这些实验室测试工具和其他工具都会给你一些建议,并对perf、SEO、A11y等进行审计,如果你遵循这些建议,你就可以大幅增强你的应用程序。

2. RUM 测试

另一种测量性能的方法,RUM是 Real User Monitoring 的缩写,这意味着你使用的是基于真实用户体验的真实监测数据,当然这更准确,它测量的是真实用户如何体验你的网络应用的延迟、错误、布局转变,没有模拟,也没有假设。

你在这里得到了关于用户体验页面性能的详细信息,包括LCP、CLS和FID。

当你在做优化决定之前需要一些依据时,强烈推荐你使用这个方法,它比实验室测试更好,因为实验室测试有时可能会产生误导。

⚙️工具

结束语

在这篇文章中,我们已经了解了测量网络性能的方法,应该测量什么,如何测量,以及你应该在多大程度上优化性能,最后还有一些你今天可以采用的工具。

性能是一个持续的过程,你增加的功能越多,对性能的挑战也就越大,通过不断的测量,你可以看到影响性能的因素,并及早消除它。