我口袋里正好装着几个不错的性能链接,所以像一个优秀的小博主一样,把它们写成博客。
使用 Puppeteer 的 Web 性能秘诀
Puppeteer 是一个 Node 库,用于“无头”启动 Chrome 的副本(即没有 UI)并对其进行控制。人们使用它来执行诸如截取网站屏幕截图或运行集成测试等操作。您甚至可以 在 Lambda 中运行它。
另一个用例是运行合成(即不基于真实用户)性能测试,例如一些新的 Web 核心指标
Addy Osmani 列出了许多这些用于在 Puppeteer 中测量某些性能事项的 “秘诀”。这些在构建过程中与其他测试一起使用将非常有用。单元测试是否通过?集成测试是否通过?辅助功能测试是否通过?性能指标测试是否通过?
BrowserStack SpeedLab
BrowserStack 发布了一个工具来测量您的网站并为您提供性能评分。

您可以非常快速地获得测试结果,这很酷。我可以看到,此类工具对于与团队开始关于改进性能的对话很有帮助。
但是……这个数字看起来有点奇怪。他们没有详细记录计算方法,但它似乎是基于诸如第一个字节时间 (TTFB) 和页面加载事件等内容,这些并不是特别有用的性能指标。
这个工具的存在本身并没有什么不好,但我认为它不适合从事性能工作的从业人员。
团队在跟踪性能时常犯的 5 个错误
来自 Calibre 的 Karolina Szczur 记录了一些常见的团队难题,例如,让团队能够识别可变性噪声中的实际问题。
来自不同背景的许多人可以查看性能仪表板。不知道什么构成需要调查的有意义的变化会导致误报、对监控缺乏信任以及花费时间寻找性能下降或不存在的升级的原因。
您的 JavaScript 长任务是否让用户感到沮丧?
50 毫秒。这就是任何特定的 JavaScript 任务开始影响用户体验所需的时间。不妨跟踪并(理想情况下)修复它们。
当浏览器的主线程的 CPU 使用率超过 50 毫秒达到最大值时,用户会开始注意到他们的点击延迟,并且页面滚动变得 卡顿 并无响应。电池电量消耗更快。人们会愤怒地点击或转到其他地方。
嗨,Chris,
感谢您的反馈。
我是负责 SpeedLab 的产品经理。我们的重点一直是提供跨真实设备和浏览器的网站速度测试,以衡量真实用户的体验。
目前,我们依靠页面加载指标使用对数正态分布函数来计算分数。对于桌面网站,浏览器上的页面加载时间少于 2100 毫秒,得分 90 或以上。对于移动网站,设备上的页面加载时间少于 1500 毫秒,得分 90 或以上。这些阈值是根据 HTTP 档案数据集以及对我们数据中心中的高速网络进行调整后选择的。每个设备和浏览器都具有相同的权重,以计算移动和桌面的最终总分。
我们将继续根据更多以用户为中心的绘制指标(如 FCP 和 LCP)改进我们的评分模型。