SuperAPI AI 工具集

performance-profiling

前端与建站

查看项目

更新于 10-15 20:30

技能介绍

用途:在改动代码前先定位应用真正耗时之处,覆盖后端与前端全栈性能分析。适用场景包括诊断 Node.js 慢应用(CPU 密集、I/O 密集、内存压力)、生成并阅读火焰图、通过堆快照检测内存泄漏、用 React Profiler 分析组件渲染、测量浏览器渲染性能(Core Web Vitals、布局抖动、长任务)、用 EXPLAIN ANALYZE 分析数据库查询、测量事件循环利用率与延迟。不适用于基础设施监控、分布式追踪、日志聚合、负载测试与容量规划、服务间网络延迟分析、数据库表结构设计优化。

主要能力与用法:Node.js CPU 分析可用内置 V8 Inspector(node --inspect src/index.js 或 node --inspect-brk src/index.js),在 chrome://inspect 的 Profiler 中录制;也可用 0x(npm install -g 0x,0x -- node src/index.js)生成交互式 HTML 火焰图,或 Clinic.js(npm install -g clinic,clinic doctor / clinic flame / clinic bubbles)。事件循环利用率可用 perf_hooks 的 performance.eventLoopUtilization 采样,ELU 高于 80% 说明事件循环饱和,接近 0% 但响应慢说明在等 I/O。内存分析通过堆快照三快照法(启动后、N 次请求后、2N 次请求后)对比增长对象,常见泄漏包括未移除的事件监听、无上限缓存。React 侧可用 React DevTools Profiler 查看“Why did this render?”,或用 why-did-you-render(npm install @welldone-software/why-did-you-render)记录无意义重渲染。数据库侧用 EXPLAIN (ANALYZE, BUFFERS) 查看执行计划,并用 pg_stat_statements 找最慢查询。

限制与原则:资料未提供具体收费、平台支持范围或效果承诺。核心纪律是先分析后优化,避免凭直觉优化、避免脱离真实负载的孤立微基准测试。瓶颈分类按优先级处理:数据库、事件循环、内存、React 渲染、非事件循环 CPU。输出排名需给出严重程度、可操作性与具体预估影响。