浏览 AI 知识库

性能变慢先测哪里:浏览器、接口、数据库还是外部依赖

页面变慢时,先用时间线判断时间花在浏览器、网络、接口、数据库还是外部依赖。没有基准数据就开始优化,很容易改到最不慢的那一层。

先认准故障

页面慢了 3.6 秒,真正的瓶颈可能一行前端代码都不在

列表页从 1.2 秒变成 4.8 秒,团队直接重写前端渲染。网络时间线显示 4.1 秒都花在 API,API 又在等数据库同一条慢查询。

  • 测试条件、样本量和指标固定
  • 瓶颈有时间线证据
  • 优化前后使用同一场景重复测量
按现象分支

网站性能慢怎么排查,先从“首屏和交互慢”这一类现象查起

首屏和交互慢

原因
资源体积、主线程长任务、布局、图片或客户端数据处理。
怎么改
用浏览器性能和网络面板测加载、渲染与交互,建立真实设备基线。

接口本身慢

原因
应用计算、锁、排队、序列化或下游调用占用时间。
怎么改
加入分段耗时和请求关联,比较成功与慢请求,不只看平均值。

数据库耗时高

原因
慢查询、缺索引、错误基数、N+1、锁或连接池。
怎么改
保存查询计划、扫描行、等待和数据量,在副本或安全环境验证索引与改写。

外部依赖波动

原因
上游延迟、限流、DNS、连接复用或超时重试放大。
怎么改
单独统计依赖耗时和状态,设置合理超时、缓存、降级与重试上限。
本例材料

复测前,固定原始现象、环境和目标

需要确认本例内容
现有材料相同测试账号与 500 条数据;浏览器性能记录、API requestId、服务日志和数据库慢查询。
不能越过的边界先建立同条件基线,再分浏览器、网络、应用、数据库与外部依赖;一次只优化已证实瓶颈。
要交付的结果基准数据与瓶颈定位表
性能定位

把‘页面慢’拆成浏览器、接口、数据库和上游时间

层实测输入证据优化决定
浏览器真实手机打开报告页LCP、长任务、资源体积先压缩最大图片
接口同一请求 30 次中位数/P95、排队和序列化确认是否应用计算占比高
数据库相同租户与数据量查询计划、扫描行、锁等待只在副本验证索引
上游同一请求关联 ID依赖耗时、状态和重试设置超时和降级

性能数字为示例;真实优化必须使用同一环境和数据基线。

修复前后

网站性能慢怎么排查:按原条件复测的结果

Before

原始现象

总耗时 4.8 秒,只有“页面慢”这一条主观描述。

After

基准数据与瓶颈定位表

时间线拆为浏览器 0.3 秒、网络 0.2 秒、API 4.3 秒,其中查询 4.05 秒。补索引后同一数据中位数降到 1.4 秒,5 次范围 1.3-1.6 秒;前端未重写。

验收方式

基准数据与瓶颈定位表通过哪些检查才算完成

进一步核对

调试与测试:参考资料与核对入口