Web Perf

Polar Sponsor
爱发电 赞助
.NET 9.0

利用 Chrome DevTools MCP 分析 Web 性能。测量核心 Web 指标(FCP、LCP、TBT、CLS、Speed Index),识别渲染阻塞资源、网络依赖链、布局偏移、缓存问题及无障碍缺陷。适用于审计、分析、调试或优化页面加载性能、Lighthouse 分数及网站速度。

网络性能审计 : 使用 Chrome DevTools MCP 工具进行网页性能审计

功能概述

网络性能审计 : 使用 Chrome DevTools MCP 工具进行网页性能审计是一项面向实际任务的技能,主要用于这种技能侧重于核心网络维度、网络优化和高水平的访问缺口;FIRST: 校验 M。

核心要点

  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。

使用与执行

从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

网页性能审计

使用 Chrome DevTools MCP 工具对网页性能进行审计。本技能聚焦于核心网页指标(Core Web Vitals)、网络优化以及高层次的可访问性缺陷。

第一步:确认 MCP 工具已就绪

开始前请务必执行此检查。 尝试调用 navigate_pageperformance_start_trace。若调用失败,立即中止——说明 chrome-devtools MCP 服务未正确配置。

请用户在 MCP 配置中添加以下内容:

"chrome-devtools": {
  "type": "local",
  "command": ["npx", "-y", "chrome-devtools-mcp@latest"]
}

关键准则

  • 保持果断:通过检查网络请求、DOM 或代码库验证所有主张,然后明确陈述结论。
  • 先验证,再建议:确认某资源确实未被使用后,才建议移除。
  • 量化影响:引用洞察结果中给出的预估收益值;避免优先处理影响为 0ms 的变更。
  • 跳过非问题项:若渲染阻塞资源的预估影响为 0ms,仅作记录,不提出改进建议。
  • 表述具体:应写“将 hero.png(450KB)压缩为 WebP 格式”,而非笼统地说“优化图片”。
  • 严格优先级排序:若网站 LCP 为 200ms 且 CLS 为 0,则已属优秀水平——需明确指出。

速查表

任务 工具调用
加载页面 navigate_page(url: "...")
启动性能追踪 performance_start_trace(autoStop: true, reload: true)
分析洞察项 performance_analyze_insight(insightSetId: "...", insightName: "...")
列出网络请求 list_network_requests(resourceTypes: ["Script", "Stylesheet", ...])
获取请求详情 get_network_request(reqid: )
可访问性快照 take_snapshot(verbose: true)

工作流程

复制下方清单以跟踪审计进度:

Audit Progress:
- [ ] Phase 1: Performance trace (navigate + record)
- [ ] Phase 2: Core Web Vitals analysis (includes CLS culprits)
- [ ] Phase 3: Network analysis
- [ ] Phase 4: Accessibility snapshot
- [ ] Phase 5: Codebase analysis (skip if third-party site)

阶段 1:性能追踪

  1. 导航至目标 URL:

    navigate_page(url: "")
    
  2. 启用自动停止并强制刷新,启动性能追踪以捕获冷加载指标:

    performance_start_trace(autoStop: true, reload: true)
    
  3. 等待追踪完成,随后获取结果。

故障排查:

  • 若追踪返回空结果或失败,请先使用 navigate_page 确认页面是否成功加载
  • 若洞察项名称不匹配,请检查追踪响应内容,列出当前可用的 insight 名称

阶段 2:核心网页指标分析

使用 performance_analyze_insight 提取关键指标。

注意: 洞察项名称可能因 Chrome DevTools 版本不同而异。若指定的 insightName 不生效,请从追踪响应中提取 insightSetId,进而查询当前支持的全部 insight。

常用 insight 名称:

指标 Insight 名称 关注点
LCP LCPBreakdown 最大内容绘制时间;含 TTFB、资源加载、渲染延迟等细分项
CLS CLSCulprits 导致布局偏移的元素(如无尺寸声明的图片、动态注入内容、字体切换)
渲染阻塞 RenderBlocking 阻塞首次绘制的 CSS/JS
文档延迟 DocumentLatency 服务器响应时间问题
网络依赖关系 NetworkRequestsDepGraph 延迟关键资源加载的请求链

示例:

performance_analyze_insight(insightSetId: "", insightName: "LCPBreakdown")

关键阈值(良好 / 需改进 / 较差):

  • TTFB:< 800ms / < 1.8s / > 1.8s
  • FCP:< 1.8s / < 3s / > 3s
  • LCP:< 2.5s / < 4s / > 4s
  • INP:< 200ms / < 500ms / > 500ms
  • TBT:< 200ms / < 600ms / > 600ms
  • CLS:< 0.1 / < 0.25 / > 0.25
  • Speed Index:< 3.4s / < 5.8s / > 5.8s

阶段 3:网络分析

列出全部网络请求,识别优化机会:

list_network_requests(resourceTypes: ["Script", "Stylesheet", "Document", "Font", "Image"])

重点关注:

  1. 渲染阻塞资源:位于 中且未设置 async/defer/media 属性的 JS/CSS
  2. 网络依赖链:因依赖其他资源而延迟发现的资源(例如 CSS @import、JS 加载字体)
  3. 缺失预加载:关键资源(字体、首屏图片、核心脚本)未配置
  4. 缓存问题:缺少或弱效的 Cache-ControlETagLast-Modified 响应头
  5. 过大负载:未压缩或体积过大的 JS/CSS 打包产物
  6. 无效 preconnect:若工具标记为“未使用”,请核实该 origin 是否有任意网络请求。若请求数为零,则确属无效——建议移除;若存在请求但加载较晚,则 preconnect 仍可能有价值。

获取单个请求详细信息:

get_network_request(reqid: )

阶段 4:可访问性快照

获取可访问性树快照:

take_snapshot(verbose: true)

标记高层次缺陷:

  • 缺失或重复的 ARIA ID
  • 对比度不足的元素(按 WCAG AA 标准:常规文本 ≥ 4.5:1,大号文本 ≥ 3:1)
  • 焦点陷阱或缺失焦点指示器
  • 无无障碍名称的交互式元素

阶段 5:代码库分析

若审计的是无代码库访问权限的第三方网站,请跳过本阶段。

分析代码库,定位可实施优化的具体位置。

识别框架与打包器

搜索配置文件以确定技术栈:

工具 配置文件
Webpack webpack.config.js, webpack.*.js
Vite vite.config.js, vite.config.ts
Rollup rollup.config.js, rollup.config.mjs
esbuild esbuild.config.js, 含 esbuild 的构建脚本
Parcel .parcelrc, package.json(parcel 字段)
Next.js next.config.js, next.config.mjs
Nuxt nuxt.config.js, nuxt.config.ts
SvelteKit svelte.config.js
Astro astro.config.mjs

同时检查 package.json 中的框架依赖项和构建脚本。

Tree-Shaking 与死代码

  • Webpack:检查是否启用 mode: 'production'package.json 中是否声明 sideEffects、是否启用 usedExports 优化
  • Vite/Rollup:默认启用 tree-shaking;检查 treeshake 相关配置项
  • 重点关注:Barrel 文件(index.js 全量 re-export)、整包引入大型工具库(如 lodash、moment)

未使用的 JS/CSS

  • 区分 CSS-in-JS 与静态 CSS 提取方案
  • 检查 PurgeCSS/UnCSS 配置(如 Tailwind 的 content 配置)
  • 识别动态导入(dynamic import)与急切加载(eager loading)模式

Polyfill

  • 检查 @babel/preset-env 的 targets 配置及 useBuiltIns 设置
  • 查找 core-js 的显式导入(通常体积过大)
  • 检查 browserslist 配置是否覆盖范围过宽

压缩与混淆

  • 检查是否启用 terseresbuildswc 进行混淆
  • 检查构建产物或服务器配置中是否启用 gzip/brotli 压缩
  • 检查生产构建中是否包含 source map(应设为 external 或禁用)

输出格式

按以下结构呈现审计结果:

  1. 核心网页指标摘要 —— 表格形式,含指标名、实测值及评级(良好 / 需改进 / 较差)
  2. 主要问题 —— 按影响程度(高 / 中 / 低)排序的问题列表,并附预估影响值
  3. 改进建议 —— 具体、可操作的修复方案,含代码片段或配置修改示例
  4. 代码库发现 —— 已识别的框架/打包器类型及潜在优化点(若无代码库访问权限则省略)

相关专题

更多
Aionclaw智能助手介绍
Aionclaw智能助手介绍

本专题汇总了AionClaw(AI龙虾助手)的功能介绍与在线使用入口。AionClaw是杭州趣猿人工智能有限公司推出的桌面级AI智能体,能直接在电脑上读写文件、运行脚本、操作浏览器,自动交付Word、PPT、Excel等成品。

2026.09.20

0

13

AionClaw AI智能体与电脑自动化任务执行功能使用教程
AionClaw AI智能体与电脑自动化任务执行功能使用教程

AionClaw专题整理AI智能体与电脑自动化相关功能使用教程,涵盖安装部署、AI任务执行、Skills技能、文件处理、浏览器控制、电脑操作、持久记忆、聊天工具连接以及办公、编程和内容创作等功能,帮助用户快速掌握AionClaw的实际使用方法。

2026.09.20

0

15

AI视频生成软件推荐
AI视频生成软件推荐

本专题汇总了当前主流的AI视频生成软件推荐与排行榜单,涵盖seko、AniShort、剧云、Lovart、LiblibAI及立刻mv等热门工具。同时整理了各软件在文生视频、图生视频、时长限制、画质表现及免费额度等方面的差异对比,助您快速选对适合创作需求的AI视频生成工具。

2026.09.16

0

9

ai生成视频的工具免费版合集
ai生成视频的工具免费版合集

本专题汇总了当前免费AI生成视频工具的排行榜与推荐清单,涵盖seko、讯飞智作、AniShort及剧云、Lovart等多模型集成平台。同时整理了各工具的免费额度、输出时长、水印政策及适用场景差异,助您快速选择合适工具开启AI视频创作。

2026.09.16

0

10

Pandas时间序列分析与可视化报表
Pandas时间序列分析与可视化报表

本专题整理Pandas日期转换、时间索引、重采样、滚动窗口、时区处理、plot绘图、Styler表格样式和报表输出方法。

2026.09.16

0

23

Pandas数据筛选索引与清洗处理
Pandas数据筛选索引与清洗处理

本专题整理Pandas中的loc、iloc、条件筛选、query查询、缺失值处理、重复值删除、类型转换和字符串列清洗方法。

2026.09.16

0

25

Pandas数据读取导入与文件导出处理
Pandas数据读取导入与文件导出处理

本专题整理Pandas读取CSV、Excel、JSON、SQL、Parquet等文件的方法,以及to_csv、to_excel、to_sql和to_parquet等常用数据导出流程。

2026.09.16

0

27

GDB怎么设置断点
GDB怎么设置断点

本专题介绍GDB按照函数名、源代码行号和文件位置设置断点的方法,详细说明run、continue、next、step等命令的配合使用,帮助定位程序崩溃、逻辑异常及代码未按预期执行的问题。

2026.09.11

0

28

GDB怎么查看变量值
GDB怎么查看变量值

本专题介绍GDB调试过程中查看变量值的具体方法,涵盖局部变量、函数参数、数组、结构体和指针内容查询,同时整理变量持续显示、格式化输出及无法读取变量时的排查思路。

2026.09.11

0

22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.1万人学习