SuperAPI AI 工具集

performance-profile-triage

编程与开发

查看项目

更新于 10-15 17:29

技能介绍

用途:让性能优化基于实测证据。目标是找出真正影响目标指标的约束,只改证据支持的代码,并用可比基线验证结果。

必要输入:一个目标工作负载或用户可见操作;可量化目标(延迟分位、吞吐、内存、分配率、启动时间、构建时间、CPU 时间等);触发该负载的命令、场景、夹具、请求、trace、基准或复现路径;相关约束(硬件、环境、数据规模、并发、外部服务、缓存状态、可接受权衡)。若用户只给出模糊症状,应先转化为可测量负载并说明将测什么。

工作流程:

  1. 定义性能问题:命名被测操作,说明指标与单位,记录会影响结果的环境信息;优化前先区分正确性缺陷与性能症状。
  2. 采集基线:运行能复现开销的最小真实负载,有波动时多次采样,保留原始命令输出、基准输出、trace ID 或剖析产物;除非无更好手段,不要仅凭一次未插桩计时作为证据。
  3. 按疑似资源选择插桩:CPU 型用 CPU profile、火焰图、采样剖析、基准归因或 trace span;内存型用分配剖析、堆快照、存活对象分析或 GC 遥测;IO 型用查询计划、请求 trace、系统调用汇总、存储指标、网络计时或缓存命中率;竞争型用锁剖析、goroutine/线程转储、调度器 trace、队列指标或阻塞剖析;前端型用浏览器性能 trace、长任务分析、包体积、网络瀑布、布局与绘制计时。
  4. 排序瓶颈:按对目标指标的实测贡献排序,优先累积影响而非实现细节;将候选项标记为已确认、可能或已排除,并附支撑证据。
  5. 选择最小修复:改热路径而非邻近代码;改变算法、缓存、并发、批处理或 IO 形态前先保持行为;记录内存增长、数据过期、启动成本、精度损失或运维复杂度等权衡;避免大范围重构。
  6. 验证结果:用同一负载重跑并与基线比较,运行相关正确性测试,检查次要指标回归(内存、错误率、输出质量、并发行为);结果有噪声时报告范围并说明改动是否仍成立。

输出格式:简洁性能报告,含负载、基线、证据、按贡献和置信度排序的瓶颈、改动或建议、验证与残余风险。

限制与守则:没有基线不要优化(除非任务只要求设计测量方案);不要仅凭代码审查宣称提速;不要隐藏测量方差;未经用户明确同意,不得用正确性、安全性或持久性换速度;除非直接建模热路径,不要用合成微基准作为面向用户工作流的唯一证明。