Essay / 技术文章

从一次性能排查谈工程思维

性能问题并不神秘。把现象、假设、证据和验证串成闭环,排查就会成为可复用的方法。

一次有效的性能排查,应该从可重复的现象开始,而不是从直觉开始。

先定义问题

“页面很慢”不是可验证的问题。更好的描述是:

  • 首次进入详情页时,主线程有一段超过 300ms 的长任务;
  • 列表超过 500 条后,筛选操作明显延迟;
  • 只有低端移动设备可以稳定复现。

一次只验证一个假设

建立基线、改变一个变量、重新测量。即使假设错误,也能减少未知量。

performance.mark("filter:start");
const result = filterRows(rows, query);
performance.mark("filter:end");
performance.measure("filter", "filter:start", "filter:end");

工具的价值不只是给出答案,更重要的是把模糊感受转换成可以讨论的证据。