首页/AI/大模型部署与运维速查/延迟尖刺:按时间轴对齐排查
运维监控与排障50 条

延迟尖刺:按时间轴对齐排查

偶发延迟尖刺先用统一时间轴找相关性:TTFT 尖刺多指向长 prompt 与 prefill 挤占,TPOT 尖刺指向带宽、通信与降频;再查同卡邻居、温度与突发流量。

尖刺与均值无关

偶发的延迟尖刺对平均延迟影响很小,但用户对尾部的感知非常强烈。排查的做法是把尖刺放到统一时间轴上找相关性:首 token 延迟的尖刺多指向长输入与预填充挤占,逐 token 延迟的尖刺则指向显存带宽、卡间通信与降频。先分类再查,比笼统盯着延迟曲线有效得多。

基本信息

适用平台自托管推理服务配合显卡监控
关键指标首 token 延迟与逐 token 延迟的分位数曲线
常用工具显卡状态查询、监控看板、引擎指标端点
记录要求记下尖刺出现的时刻与当时的并发、输入长度

排查顺序

  • 先分类:首 token 延迟尖刺还是逐 token 延迟尖刺,两者根因方向不同
  • 查邻居:同卡是否有其他任务,同机是否有高 IO 任务在跑
  • 查环境:温度、功耗墙与降频原因,逐项排除
  • 查流量:突发长请求与突发总量,对照队列与水位曲线
  • 对照变更:把尖刺与发布、扩缩容、批量任务的时间点叠在一起看

降频与负载证据

降频与负载证据
nvidia-smi --query-gpu=clocks_throttle_reasons.active --format=csv
nvidia-smi --query-gpu=temperature.gpu,power.draw,clocks.sm --format=csv -l 5
nvidia-smi --query-gpu=utilization.gpu,memory.used --format=csv -l 5   # 与延迟曲线对时间

尖刺类型对照

尖刺类型根因方向优先核对
首 token 尖刺长输入带来的预填充挤占输入长度分布与队列长度
逐 token 尖刺显存带宽、卡间通信与降频降频原因与卡间拓扑
周期性尖刺定时任务、日志切割、缓存回收同机定时任务与磁盘写入
偶发无规律邻居任务或外部流量突刺同卡任务与入口流量
把尖刺与变更时间线叠在一起看:很多看起来随机的尖刺,都始于某次发布或某个新调用方上线。
分位数比平均值可靠:P95 与 P99 同图对比,才能判断是尾部变差还是整体变慢。
尖刺排查要留证据:把当时的显卡查询输出、并发与输入长度分布一并记下,否则几分钟后现场就没了。

易错点

  • 只看平均延迟:尖刺对均值影响小,但用户对尾部的感知强烈
  • 把尖刺直接归因于模型变慢:先排除降频、邻居与外因,再怀疑模型与参数
  • 没有逐 token 延迟数据:只有端到端延迟时,分不清是排队慢还是解码慢
  • 忽略定时任务:日志切割、备份、采集造成的整点尖刺很容易被漏掉

数据来源与参考

  • NVIDIA 官方文档:nvidia-smi 查询与降频原因说明(docs.nvidia.com)
  • vLLM 官方文档:Production Metrics(docs.vllm.ai)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌