SuperAPI AI 工具集

performance

部署与运维

查看项目

更新于 10-15 07:53

技能介绍

performance 是一个综合性性能专家技能,涵盖性能分析、优化、负载测试、压力测试、容量规划,以及针对具体框架的性能模式。

一、用途 当需要识别性能瓶颈、排查内存泄漏或高内存占用、优化慢数据库查询、分析前端性能(Core Web Vitals、打包体积)、搭建性能监控、在部署前进行性能审计、创建负载测试场景、分析压力下的表现、识别负载下的系统瓶颈、规划容量、建立性能基准、优化 React 渲染性能、减小打包体积、改善 Core Web Vitals(LCP、FID、CLS)、修复 React 应用内存泄漏,以及实现高级 React 模式时,可使用该技能。

二、主要能力

  • 性能剖析:分析 CPU、内存和网络性能。
  • 瓶颈定位: pinpoint 具体性能问题。
  • 内存分析:检测内存泄漏和高内存使用。
  • 数据库优化:识别慢查询与优化机会。
  • 前端分析:分析打包体积、渲染性能、Core Web Vitals。
  • 负载测试:创建并执行负载测试场景。
  • 压力测试:找出崩溃点与极限。
  • 容量规划:分析可扩展性与容量。
  • React 优化:优化 React 渲染、打包体积和 Core Web Vitals。
  • 监控搭建:创建性能监控与告警。

三、使用方式 可通过自然语言指令触发,例如“分析此应用的性能并识别瓶颈”“剖析内存使用并查找泄漏”“为此 API 创建负载测试场景”“在 1000 并发用户下测试性能”“优化此 React 应用以获得更好性能”“分析打包体积并减小它”。

四、分析领域

  1. 应用性能:跟踪响应时间与延迟、吞吐量(每秒请求数)、错误率、CPU 利用率、内存使用模式。常见问题包括慢 API 端点、高 CPU 使用、内存泄漏、低效算法、阻塞操作。
  2. 数据库性能:聚焦慢查询识别、缺失索引、N+1 查询问题、连接池耗尽、锁竞争。工具包括查询执行计划(EXPLAIN ANALYZE)、慢查询日志、数据库监控工具、连接池指标。
  3. 前端性能:Core Web Vitals 目标为最大内容绘制(LCP)< 2.5s、首次输入延迟(FID)< 100ms、累积布局偏移(CLS)< 0.1。打包分析包括打包体积优化、代码分割机会、未使用代码移除、资源优化。
  4. React 性能:渲染优化包括 React.memo 组件记忆化、useMemo 用于昂贵计算、useCallback 用于函数记忆化、长列表虚拟化、代码分割与懒加载。打包优化包括按路由代码分割、组件懒加载、未使用代码 tree shaking、动态导入、打包分析。

五、性能测试

  1. 负载测试:目的为在预期负载下测试系统;指标为响应时间、吞吐量、错误率;工具为 k6、Artillery、JMeter、Locust。示例(k6)中定义了分阶段负载(升至 100、保持、升至 200、保持、降为 0),并检查状态码 200 与响应时间小于 500ms。
  2. 压力测试:目的为找到崩溃点;指标为最大容量、失败点;方法为逐步增加负载直到失败。
  3. 容量规划:目的为确定资源需求;指标为资源利用率、扩展需求;分析为当前容量与未来需求对比。

六、分析流程

  1. 建立基线:测量当前性能(响应时间百分位 p50、p90、p95、p99,吞吐量指标,错误率,资源利用率);设定目标(可接受性能阈值、SLA 目标、关键路径)。
  2. 识别瓶颈:剖析技术(CPU 剖析找热点函数、内存剖析找泄漏、网络分析、数据库查询分析);瓶颈模式(单个慢操作即算法复杂度、大量小操作即 N+1 查询、资源竞争如锁与连接池、内存泄漏即渐进增长)。
  3. 分析根因:定位慢操作、测量其性能、分析为何慢、检查优化机会、验证修复是否改善性能。
  4. 提供优化建议:具体代码修改、前后性能指标、实施步骤、预期影响、风险评估。

七、示例 示例 1:API 性能分析。输入为 /api/users 端点慢。输出指出当前平均响应时间 2.3s、P95 4.1s、吞吐量 45 req/s、错误率 2%。瓶颈为 N+1 查询问题,位置 src/routes/users.js:34。根因是每个用户单独查询其 posts。优化方案为使用预加载(eager loading)与 JOIN 的单次查询。预期影响:响应时间 2.3s → 0.3s(提升 87%),数据库查询 101 → 1(减少 99%),吞吐量 45 → 200+ req/s。示例中的优化前代码与优化后代码按原文保留。 示例 2:React 组件优化。输入为优化昂贵组件。输出指出组件在每次父级更新时重新渲染,即使 props 未变。优化方案为使用 React.memo 与 useMemo 对处理逻辑进行记忆化。影响:重新渲染减少 100% → 5%,性能提升快 80%。示例中的优化前后代码按原文保留。

八、参考文件 可按需加载:references/framework_patterns.md(Node.js、React、数据库、API、前端及监控策略的性能模式)、references/react_patterns.md(React 特定性能优化模式、记忆化策略、打包优化、Core Web Vitals 改善)、references/load_testing.md(负载与压力测试模式、工具、场景、容量规划策略)、references/PERFORMANCE_ANALYSIS.template.md(性能分析报告模板,含负载画像、瓶颈与建议)。分析特定框架或进行负载测试时加载对应参考文件。

九、最佳实践 性能分析方法:先测量、先剖析再优化、增量优化、验证改进、持续监控。常见优化:应用层优化算法、加缓存层、连接池、请求批处理、限流;数据库层加索引、优化查询避免 N+1、查询结果缓存、读副本、连接池优化;前端代码分割与懒加载、图片优化、打包体积缩减、减少重渲染、资源加载优化;React 先测量再优化、有策略地记忆化(避免过度记忆化)、按路由与功能代码分割、按需懒加载组件、监控性能指标。监控搭建关键指标包括响应时间百分位、错误率、吞吐量、资源利用率、自定义业务指标;告警覆盖性能退化、错误率飙升、资源耗尽、SLA 违规。

十、相关使用场景 性能审计、优化项目、容量规划、性能回归检测、生产性能监控、负载测试分析、React 应用优化、打包体积缩减、Core Web Vitals 改善、内存泄漏修复、渲染性能优化。

关于收费、价格、平台、具体安装命令等信息,资料暂未提供。