perf-profiler · diff
git:20260414.3583839 to git:20260715.81812dc
74 added, 31 removed. Audit A to A.
---
name: perf-profiler
- description: 性能分析 - 识别瓶颈、生成优化建议
+ description: 基于可复现基线和 profiler 证据分析性能问题。用于用户要求定位慢接口、慢任务、慢查询、内存或网络瓶颈,制定优化方案,或验证优化收益时;区分实测结论与静态推断,不虚构耗时和提升比例,生产环境操作需明确授权。
---
# 性能分析助手
- ## 触发条件
- 当用户要求性能优化、分析性能、找瓶颈、优化速度时激活此技能。
+ ## 工作流程
- ## 分析维度
+ ### 1. 明确目标与边界
- ### 🖥️ 代码级
- - 算法复杂度分析(O(n) vs O(n²))
- - 内存使用模式
- - 不必要的对象创建
- - 同步阻塞 vs 异步
+ 先确认或从项目中核实:
- ### 🗄️ 数据库级
- - N+1 查询检测
- - 缺失索引建议
- - 慢查询分析
- - 连接池配置
+ - 目标指标,如延迟、吞吐量、CPU、内存、查询次数或包体积。
+ - 可复现的场景、数据规模、运行环境、版本和关键配置。
+ - 用户允许分析和修改的范围,以及是否可以运行负载或 profiler。
- ### 🌐 网络级
- - 请求合并建议
- - 缓存策略
- - CDN 配置
- - 压缩优化
+ 没有明确目标时,先用现有监控、benchmark 或用户现象缩小范围,不把“代码看起来慢”当成瓶颈结论。
- ## 输出格式
- ```
- ## ⚡ 性能分析报告
+ ### 2. 建立基线
- ### 🔴 关键瓶颈(影响 >50%)
- 1. [文件:行号] O(n²) 嵌套循环
- 优化方案:使用哈希表,O(n²) → O(n)
+ 优先复用项目已有的启动、benchmark、trace 和 profiling 配置。在相同环境、数据和负载下记录:
- ### 🟡 次要问题
- ...
+ - 预热方式、并发度、重复次数和统计口径。
+ - 代码版本、依赖版本及影响结果的配置。
+ - 原始测量值和波动范围;条件允许时保留机器可读结果。
- ### 📊 预期收益
- - 优化前:~Xms
- - 优化后:~Yms
- - 提升:Z%
+ 无法运行项目时,只能进行静态分析,并把发现标为“待验证候选”。
+
+ ### 3. 收集证据
+
+ 按技术栈选择 profiler、trace、火焰图、查询计划、网络时序或内存快照,定位时间或资源实际消耗的位置。常见维度包括:
+
+ - 代码:算法复杂度、重复计算、分配热点、同步阻塞和并发争用。
+ - 数据库:N+1 查询、扫描量、索引使用、锁等待和连接池状态。
+ - 网络:请求瀑布、有效载荷、压缩、缓存命中和外部服务延迟。
+
+ 复杂度分析和代码审查只能证明风险,不能单独证明运行时影响。
+
+ ### 4. 提出最小改动
+
+ - 将建议绑定到具体证据、文件或调用链。
+ - 说明正确性、内存、吞吐量、维护成本和兼容性方面的权衡。
+ - 优先处理证据最强、影响最大的热点;不同时改动多个无法独立归因的因素。
+ - 为代码、配置和数据结构变更准备验证与回滚方式。
+
+ ### 5. 同条件复测
+
+ 修改后使用与基线一致的环境、数据、负载、预热和统计口径复测,并运行受影响功能的正确性测试。报告原始结果、波动、差异和尚未控制的变量。
+
+ 只有真实完成同条件测量后,才能写耗时、百分比或“已改善”等确定性结论。
+
+ ## 证据等级
+
+ - **已测量**:有可复现基线、profiling 证据和实际结果。
+ - **静态推断**:由复杂度、调用关系或配置推导出的候选问题,尚未实测。
+ - **待验证**:缺少环境、数据或权限,当前无法判断影响。
+
+ ## 安全与授权边界
+
+ - 默认只在本地或用户明确指定的测试环境进行只读分析。
+ - 生产环境 profiling、压测、`EXPLAIN ANALYZE` 及索引、缓存、连接池、CDN 或外部服务配置变更必须获得明确授权。
+ - 不在报告中暴露生产数据、凭据或含敏感信息的 profiling 产物。
+ - 不为得到漂亮数字而删除正确性检查、降低数据规模或改变统计口径。
+ - Windows 与 Linux 优先使用项目已有工具;平台特定命令需说明适用范围或提供等价方法。
+
+ ## 输出
+
+ ```markdown
+ ## 性能分析结果
+
+ - 目标指标与场景:
+ - 环境、版本与数据规模:
+ - 基线与测量方法:
+
+ ## 发现
+
+ | 证据等级 | 位置 | 证据 | 影响与限制 |
+ |----------|------|------|------------|
+
+ ## 改动与权衡
+
+ ## 同条件复测
+
+ - 正确性验证:
+ - 性能结果:
+ - 未控制变量与待验证项:
+ - 回滚方式:
```