SuperAPI AI 工具集

application-performance-performance-optimization

部署与运维

查看项目

更新于 10-16 02:09

技能介绍

用途

本技能用于端到端优化应用性能,通过编排多个专业性能与优化子代理,覆盖整个应用栈。它强调现代可观测性实践、以用户为中心的性能指标以及高性价比的优化策略,从深度剖析与基线建立开始,逐层进行针对性优化,通过负载测试验证改进,并建立持续监控以维持性能。每个阶段都基于前一阶段的洞察,形成数据驱动的优化策略,解决真实瓶颈而非理论上的改进。

主要能力

技能按五个阶段组织,每个阶段包含若干步骤,每步通过 Task 工具调用特定子代理执行:

阶段一:性能剖析与基线

  • 综合性能剖析:生成 CPU 火焰图、内存堆转储、追踪 I/O 操作、识别热路径,使用 APM 工具(如 DataDog 或 New Relic),包含数据库查询剖析、API 响应时间和前端渲染指标,为所有关键用户旅程建立性能基线。
  • 可观测性栈评估:审查现有监控、OpenTelemetry 分布式追踪、日志聚合和指标收集,识别可见性缺口、缺失指标和需要更好埋点的区域,推荐 APM 工具集成和业务关键操作的自定义指标。
  • 用户体验分析:测量 Core Web Vitals(LCP、FID、CLS)、页面加载时间、可交互时间和感知性能,使用真实用户监控(RUM)数据,识别性能较差的用户旅程及其业务影响。

阶段二:数据库与后端优化

  • 数据库性能优化:分析慢查询日志、创建缺失索引、优化执行计划、使用 Redis/Memcached 实现查询结果缓存,审查连接池、预处理语句和批处理机会,必要时考虑读副本和数据库分片。
  • 后端代码与 API 优化:实现高效算法、添加应用级缓存、优化 N+1 查询、有效使用 async/await 模式,实现分页、响应压缩、GraphQL 查询优化和批量 API 操作,添加熔断器和舱壁模式以增强韧性。
  • 微服务与分布式系统优化:分析服务间通信、实现服务网格优化、优化消息队列性能(Kafka/RabbitMQ)、减少网络跳数,实现分布式缓存策略并优化序列化/反序列化。

阶段三:前端与 CDN 优化

  • 前端包与加载优化:实现代码分割、tree shaking、懒加载和动态导入,使用 webpack/rollup 分析优化包体积,实现资源提示(prefetch、preconnect、preload),优化关键渲染路径并消除阻塞渲染的资源。
  • CDN 与边缘优化:配置 CloudFlare/CloudFront 实现最优缓存,为动态内容实现边缘函数,设置响应式图片和 WebP/AVIF 格式的图片优化,配置 HTTP/2 和 HTTP/3,实现 Brotli 压缩,为全球用户设置地理分布。
  • 移动端与渐进式 Web 应用优化:实现 Service Worker 以支持离线功能,针对慢速网络进行自适应加载优化,减少移动 CPU 的 JavaScript 执行时间,为长列表实现虚拟滚动,优化触摸响应和平滑动画,如适用可考虑 React Native/Flutter 特定优化。

阶段四:负载测试与验证

  • 综合负载测试:使用 k6/Gatling/Artillery 进行负载测试,基于生产流量模式设计真实负载场景,测试正常负载、峰值负载和压力场景,包含 API 测试、浏览器测试和 WebSocket 测试(如适用),测量不同负载级别下的响应时间、吞吐量、错误率和资源利用率。
  • 性能回归测试:创建自动化性能回归测试,为关键指标设置性能预算,使用 GitHub Actions 或类似工具集成到 CI/CD 流水线,创建 Lighthouse CI 前端测试、Artillery API 性能测试和数据库性能基准,实现性能回归的自动回滚触发器。

阶段五:监控与持续优化

  • 生产监控设置:使用 DataDog/New Relic/Dynatrace 设置 APM,配置 OpenTelemetry 分布式追踪,实现自定义业务指标,创建 Grafana 仪表盘,设置 PagerDuty 性能退化告警,为关键服务定义带错误预算的 SLI/SLO。
  • 持续性能优化:建立持续优化流程,创建性能预算跟踪,为性能变更实现 A/B 测试,在生产中设置持续剖析,记录优化机会待办列表,创建容量规划模型,建立定期性能审查周期。

使用方式

技能通过 Task 工具调用不同子代理执行各步骤,子代理类型包括:performance-engineer、observability-engineer、database-cloud-optimization::database-optimizer、backend-development::backend-architect、frontend-developer、cloud-infrastructure::cloud-architect、frontend-mobile-development::mobile-developer、performance-testing-review::test-automator。

配置选项包括:

  • performance_focus:"latency" | "throughput" | "cost" | "balanced"(默认 "balanced")
  • optimization_depth:"quick-wins" | "comprehensive" | "enterprise"(默认 "comprehensive")
  • tools_available:["datadog", "newrelic", "prometheus", "grafana", "k6", "gatling"]
  • budget_constraints:设置基础设施变更的最大可接受成本
  • user_impact_tolerance:"zero-downtime" | "maintenance-window" | "gradual-rollout"

适用场景

  • 跨后端、前端和基础设施协调性能优化
  • 建立基线和剖析以识别瓶颈
  • 设计负载测试、性能预算或容量规划
  • 为性能和可靠性目标构建可观测性

限制

  • 不适用于没有更广泛性能目标的局部小修复
  • 不适用于无法访问指标、追踪或剖析数据的情况
  • 不适用于与性能或可伸缩性无关的请求
  • 安全注意事项:未经批准和保障措施,避免对生产环境进行负载测试;性能变更应逐步推出并制定回滚计划

成功标准

  • 响应时间:关键端点 P50 < 200ms,P95 < 1s,P99 < 2s
  • Core Web Vitals:LCP < 2.5s,FID < 100ms,CLS < 0.1
  • 吞吐量:支持当前峰值负载的 2 倍,错误率 < 1%
  • 数据库性能:查询 P95 < 100ms,无查询超过 1s
  • 资源利用率:正常负载下 CPU < 70%,内存 < 80%
  • 成本效率:每美元性能至少提升 30%
  • 监控覆盖:100% 关键路径已埋点并告警