谷歌天气
实时天气数据查询
perf-profiler 是一款跨语言的应用性能分析工具,支持 CPU 剖析、内存分析、火焰图生成、函数基准测试、API 负载测试及数据库查询优化。适用于 Node.js、Python、Go 等多种运行时环境。
性能分析器帮助开发团队快速定位应用卡顿、响应慢等性能瓶颈。通过CPU剖析和内存分析,业务人员能直观了解哪些代码或接口消耗资源最多;火焰图将复杂的技术数据转化为可视化热点路径,让非技术管理者也能理解问题所在。部署前还可模拟真实流量进行负载测试,提前发现系统承载风险,避免上线后影响用户体验。
落地案例:某电商平台大促前使用性能分析器对核心下单接口进行全链路检测:先通过CPU剖析发现优惠券计算模块占用过高,火焰图锁定递归算法为瓶颈;再对优化后的代码进行基准测试对比,确认耗时降低;最后用负载测试模拟峰值流量,验证数据库连接池配置充足。整个过程在预发环境完成,零生产风险。
安装依赖
本技能依赖以下任一命令行工具:
可选安装 hyperfine 以获得更精确的基准测试能力:
# macOS
brew install hyperfine
# Linux (Debian/Ubuntu)
apt-get install hyperfine
# 其他系统见 https://github.com/sharkdp/hyperfine
基础用法
1. 命令行计时:使用 time 或 hyperfine 测量命令执行耗时
# 单次计时
time my-command --flag
# 多次统计平均耗时
for i in $(seq 1 10); do
/usr/bin/time -f "%e" my-command 2>&1
done | awk '{sum+=$1; sumsq+=$1*$1; count++} END {
avg=sum/count;
stddev=sqrt(sumsq/count - avg*avg);
printf "runs=%d avg=%.3fs stddev=%.3fs\n", count, avg, stddev
}'
# 使用 hyperfine 对比两个命令
hyperfine 'command-a' 'command-b'
hyperfine --warmup 3 --runs 20 'my-command'
2. Node.js CPU 剖析:生成 .cpuprofile 文件并在 Chrome DevTools 中分析
node --cpu-prof app.js
node --cpu-prof --cpu-prof-interval=100 app.js
3. Node.js 堆快照:检测内存泄漏
node --heap-prof app.js
4. Python cProfile 分析:
python3 -m cProfile -s cumulative my_script.py
python3 -m cProfile -o profile.prof my_script.py
见下方输入与输出表格。
| 项目 | 内容 |
|---|---|
| 输入 | 待分析的应用代码或命令;Node.js/Python/Go 运行时环境;剖析参数(采样间隔、持续时间、迭代次数) |
| 输出 | CPU 剖析报告(.cpuprofile)、堆快照文件(.heapsnapshot)、火焰图可视化数据、基准测试统计结果、内存使用趋势日志 |
| 适用人群 | 后端开发工程师、DevOps 工程师、性能测试人员、全栈开发者、技术负责人 |
| 不包含 | 自动修复代码功能、云端分布式追踪、移动端原生应用剖析、浏览器前端渲染分析 |
原始链接:https://github.com/openclaw/skills/tree/main/skills/gitgoodordietrying/perf-profiler/SKILL.md
来源类型:GitHub 仓库