SuperAPI AI 工具集

performance-profiler

部署与运维

查看项目

更新于 10-15 13:28

技能介绍

Performance Profiler 是一个系统化性能剖析技能,层级标记为 POWERFUL,类别为工程(Engineering),领域为性能工程(Performance Engineering)。它面向 Node.js、Python 和 Go 应用,帮助定位 CPU、内存和 I/O 瓶颈。

核心能力

  • CPU 剖析:Node.js 火焰图、Python 的 py-spy、Go 的 pprof。
  • 内存剖析:堆快照、泄漏检测、GC 压力分析。
  • 打包体积分析:webpack-bundle-analyzer、Next.js bundle analyzer。
  • 数据库优化:EXPLAIN ANALYZE、慢查询日志、N+1 查询检测。
  • 负载测试:k6 脚本、Artillery 场景、爬坡(ramp-up)模式。
  • 前后测量:建立基线、剖析、优化、验证。

适用场景

  • 应用变慢但无法确定瓶颈位置。
  • 发布前 P99 延迟超出 SLA。
  • 内存占用随时间增长(疑似内存泄漏)。
  • 新增依赖后打包体积上升。
  • 为流量高峰做准备(上线前做负载测试)。
  • 数据库查询耗时超过 100ms。

使用方式

通过脚本对项目进行性能风险指标分析,支持文本与 JSON 两种输出,JSON 便于接入 CI。安装与运行命令保留原文:

# Analyze a project for performance risk indicators
python3 scripts/performance_profiler.py /path/to/project

# JSON output for CI integration
python3 scripts/performance_profiler.py /path/to/project --json

# Custom large-file threshold
python3 scripts/performance_profiler.py /path/to/project --large-file-threshold-kb 256

黄金法则:先测量

在任何优化之前先建立基线,记录 P50、P95、P99 延迟、RPS、错误率与内存使用情况。错误做法是“我认为这个 N+1 查询很慢,直接修它”;正确做法是:剖析 → 确认瓶颈 → 修复 → 再次测量 → 验证改进。

Node.js 剖析

Node.js 剖析的具体细节参见 references/profiling-recipes.md。

参考资料

  • references/profiling-recipes.md:Node.js/Python/Go 剖析命令、火焰图生成、堆快照。
  • references/optimization-playbook.md:前后测量模板、快速见效优化清单(数据库/Node/打包/API)、常见陷阱与最佳实践。

限制与未知信息

官方文本(official_text)为空,关于具体支持的框架版本、各类操作系统兼容性、运行环境要求、是否收费或价格、以及更详细的输出格式说明,资料中暂未提供。