SuperAPI AI 工具集

investigating-performance

通用与其它

查看项目

更新于 10-16 09:49

技能介绍

这是一个性能排查类技能,用于应对变慢、内存或 CPU 占用过高、高负载下降级、超时等问题,也用于在做任何提速改动之前先确认瓶颈。

核心原则:测量、定位、只改一处、再测量。直觉只用来决定测什么,不用来决定改什么。铁律是:没有能指出瓶颈的测量,就不做优化——必须先说出“X 占用了 N% 的时间”,而非“X 看起来慢”。没有改后测量的改动只是已上线的猜测。

使用流程:先定义目标,写清指标、统计量(如 p99)、负载和目标值;再搭建可复现的压测环境,使用真实数据规模、预热后再测、重复取分布、固定环境并测生产构建。接着先做特征判断再选对维度做 profiling,例如 CPU 高看 CPU profile,CPU 低延迟高看阻塞等待,内存只增不减看堆快照。常见原因包括 N+1 查询、缺索引、循环内重复计算、序列化开销、无界并发、锁跨 I/O、长连接复用缺失、前端主线程长任务等。

修改时一次只改一处,复测后保留有效改动、回退无效改动,并把基准测试与修复一起提交;每次优化后重新 profile,因为瓶颈会转移。达到第 0 步目标即停止。

尾延迟部分指出:若用户抱怨 p99,平均值具有误导性;常见原因是排队、GC 暂停、锁护送、重试、冷路径和队头阻塞,并提醒压测工具需避免 coordinated omission。

限制与常见错误:不要凭“这明显是慢点”就动手;不要优化只占 0.4% 的函数;不要用单次计时当证据;不要在同一提交里放两处性能改动;不要用缓存掩盖错误;不要忽视方差;不要缺少改后测量。

资料未提供具体安装命令、支持平台、价格或效果数据。