返回课程目录
用权限、恢复和成本控制自动化按需:模型与部署 · 7 / 10

AI 推理延迟怎么排查?从请求到屏幕拆分等待阶段

按单次请求追踪客户端、网关、模型、工具与页面渲染时长,再决定要修哪一段,而不是先换模型或加硬件。

所属问题主题模型运行与成本
本课完成物 · 推理延迟诊断轨迹表更新于 · 2026年10月2日
本分支已读0 / 10
学习方式

先带着一个真实任务阅读,再完成页面中的工作台。能让另一位同事复核你的产物,才算完成本课。

用户说“AI 回答慢”时,瓶颈可能在模型,也可能在客户端队列、连接建立、代理缓冲、工具调用或页面渲染。只看一条总耗时,无法判断是首个字迟迟不来、生成中的停顿、工具在等待,还是答案已经到达浏览器却没有显示。先追踪一条请求经过的阶段,再选择改动。

本文聚焦单次请求的延迟诊断:把一次等待拆成可观察的时间线,并区分直接证据与推测。它不估算本地服务能承载多少并发;要为到达率、突发和持续队列找容量边界,请用本地推理服务并发试验。要定位 Agent 运行中第一个流程偏差,则用Agent 运行轨迹复核。

先定义用户感知的“开始”和“完成”

同一次请求至少有三个不同结束点:服务端产生首个 Token、客户端收到首段内容、界面把文字绘制出来。流式响应中的首字节也可能只是 HTTP 标头或事件封装,不代表用户已经看到答案。总完成时间还受输出长度影响;响应更长但生成速度正常,不一定是推理变慢。

为每个阶段采用同一请求编号,记录一组带起止点的时间:

阶段建议记录可以回答的问题
客户端本地队列、连接准备、实际发出、首字节、首段可见文字、末字节、渲染完成请求何时发出,用户何时真正看到并读完结果?
网关与代理收到请求、转发上游、首段回传、缓冲或重试是否被限流、排队、重试或攒批后才转发?
模型服务接收、调度、可用时的队列、首 Token、流式输出、完成可见指标是否支持“服务内部在等待或生成慢”的判断?
外部工具每次调用开始、结束、状态码、工具名与调用编号等待是否花在搜索、数据库或其他下游?
结果处理解析、校验、后处理、UI 渲染完成模型结束后,应用还花了多久才显示结果?

用单调时钟测同一机器上的阶段时长,避免系统时间校准让耗时变成负数。跨机器拼接轨迹时保留每个时钟来源和时钟同步状态。父级总 span 已包含子 span 的时间,汇总总等待时不要把二者相加;并行分支也可能在时间上重叠。

把请求形状与重试记录下来

延迟对输入、输出与执行路径都很敏感。保存模型与版本、输入 Token 数、输出 Token 数、是否流式、上下文长度、工具调用数、是否命中缓存、冷启动状态、地区、HTTP 状态以及重试次数。不要只保存“Prompt 大约一千字”:实际 Token 数、附加上下文和图像等输入会改变工作量。敏感请求内容留在获准的观察系统中,用脱敏编号或受控证据位置关联。

客户端到首个可见 Token 的时间(TTFT)包含它之间经过的等待。若推理服务的指标显示自己的请求队列耗时,可以用它解释总等待的一部分;这段队列已经包含在客户端 TTFT 中,不能再加一遍。TTFT 很长并不能单独证明 Prefill 慢,网络、冷加载、限流或网关重试都可能造成类似现象。

自己管理的推理服务可能暴露队列、Prefill、Decode 和 Token 时间直方图;托管 API 未必开放内部跨度。看不到服务端指标时,把来源阶段记为“未观测”,不要通过客户端总耗时猜测供应商内部发生了什么。请求是否出现 429、是否在某一代理重试,以及服务端是否给了 request ID,往往比一个推测出来的原因有用。

按最早出现的异常来分流

先比较请求发出、服务收到、首字节、首 Token、界面显示和完成之间的时间,再看错误与请求形状。下面的模式给出下一步测量方向,而不是诊断结论:

观察到的模式优先核对仍需排除
用户点击到请求发出已很久客户端任务队列、并发限制、上传准备浏览器主线程阻塞、前端重试
请求已发出,但网关很晚才转发网关排队、连接池、限流和重试记录DNS、TLS 或跨区网络
服务收到后到首 Token 变长,随后输出节奏正常已暴露的模型队列、冷启动、输入长度与 Prefill 指标服务端排队是否已包含在所测 TTFT 中
首 Token 正常,输出中多次停顿流事件时间戳、输出长度、服务调度与工具交接代理是否只在特定分块后冲刷
模型端已发出内容,浏览器却很晚才呈现代理缓冲、应用事件解析、主线程与渲染记录的是首字节还是首个可见字符
模型响应及时,但任务完成很慢工具调用、重试次数、顺序依赖和后处理工具等待能否与模型时间重叠

先找时间线上最早违反目标的边界,再在这一层增加区分原因的测量。分布也应按模型版本、输入长度、流式开关、地区、工具路径和缓存情况切片;把完全不同的请求混成一个 P95,会掩盖长输入或某一个区域的问题。一次请求可以解释故障路径,但不能证明某配置的容量表现。

案例一:短问题等了很久,回答却很快

内部商品助手对一个短问题要了很长时间才开始显示,之后几秒便完成。轨迹显示客户端很快发出请求,模型服务隔了一段时间才开始处理;这一轮恰逢实例冷启动,服务端同时出现加载活动。复核者能直接确认的只有“接收至首 Token 延长且发生加载”,不能仅凭它声称所有慢请求都由冷启动造成。

下一步把同一脱敏输入分别在实例首次请求与预热后各运行数次,同时记录服务状态与相同的时间点。如果只有首次请求显著延长,就为冷启动单独设产品预期或调整预热;若两种情况都慢,再查看队列与输入长度。这个诊断不需要先增加 GPU,也不把试验结果外推成服务容量。

案例二:推理端持续输出,用户却只能看到整段文本

客服摘要服务在本地记录中有连续的流式事件,但浏览器的首个可见内容总在响应末尾才出现。客户端抓取表明事件已到达应用服务器,反向代理却把响应缓冲到连接结束才转发。此时模型生成速度不是用户等待的主要原因;修改 Prompt 或量化模型不会消除代理的缓冲策略。

团队针对测试端点调整流式转发,并检查首事件确实及时抵达浏览器、页面逐段绘制且取消操作有效。再用慢网络和长回答复测,以免只验证了本机环境。若没有服务器至代理、代理至浏览器的事件时间戳,应先补这条证据链,不能仅根据最终输出推定代理故障。

先选择能证伪猜测的测量

针对观察到的第一处延迟,设计一项小对照:同一请求在冷/热服务、短/长输入、带/不带工具、直连/经过代理时各表现如何?一次只改变一项条件,保留模型版本、内容长度和采样配置。流式与非流式请求应分别比较,因为两者的“开始响应”对用户意味着不同事件。

具体改动也要有回退与重测条件。增加预热会增加常驻资源;关闭代理缓冲可能改变连接占用;把长请求拆分可能损失跨段上下文。比较改动前后相同路径的端到端用户等待、错误和任务质量,不要只挑某一个内部计时器来宣布问题已解决。

常见问题

用户看见的首字延迟就是模型 TTFT 吗?

不是。模型服务 TTFT、客户端收到首字节、客户端收到首段文字和界面首次绘制是不同事件。先在各层记录时间戳,再注明产品采用的服务目标是哪一个。

只要首 Token 快,整体体验就好吗?

不一定。答案可能很长,流式途中可能停顿,工具可能拖慢任务,界面也可能晚渲染。把首段出现、流式间隔、端到端完成和业务验收分别监测。

不适用边界

部分托管模型服务不会公开内部队列或 Prefill/Decode 计时,因此只能判断哪些阶段尚未观测,不能把黑盒总时延归因给某个内部组件。单次轨迹用于定位下一次测量,不替代并发容量测试、尾延迟 SLO、长期趋势分析或安全审查;跨机器比较前还要核实计时口径与时钟关系。

核验来源

这篇内容参考了哪些一手资料?

来源用于核对定义、风险边界或操作事实;判断框架和工作台由 AI Vista 独立编写。

  1. OpenTelemetry — Traces核验于 2026-10-02
  2. vLLM stable metrics design核验于 2026-10-02
  3. vLLM stable production metrics核验于 2026-10-02
  4. OpenAI API documentation — Latency optimization核验于 2026-10-02

AI 工具可能协助研究、提纲和语言编辑;事实、案例和最终措辞由编辑复核。发现错误请通过联系页提交更正。

可带走的工具

推理延迟诊断轨迹表

先把用户实际等待拆成可观测阶段,再决定是否更换模型或硬件。

inference / latency / trace
什么时候用用户反映 AI 回答慢、但还不知道等待发生在哪个阶段时
填写后得到一条按请求拆分客户端、网关、模型、工具和页面渲染证据的时间线

此工作台会在当前浏览器保存草稿。只填合成轨迹编号、阶段时长和受控证据位置;不要粘贴提示词、响应正文、Cookie、请求头或 API 密钥。

使用顺序01—03
  1. 01
    写任务摘要用脱敏摘要写明要交付的结果。
  2. 02
    补齐判断字段写清输入类别、风险、证据位置和接手方式。
  3. 03
    交给同事复核对方能复述结论,工具才算完成。
完成信号字段齐全,边界明确,可被复核。
编辑内容会自动保存

本课已读

完成工作台,再标记已读。

已读状态会更新课程目录与学习进度。

  1. 01字段齐全
  2. 02案例走过
  3. 03可以复核

文章实践笔记

读到这里,留下一条可复核的判断。

下方虚构示例展示写法;你的笔记只保存在当前浏览器。记录哪一步有效、哪个边界不成立,或一个值得测试的问题。

↗
关联文章AI 推理延迟怎么排查?从请求到屏幕拆分等待阶段查看示例与本机笔记 →
0 条示例与本机笔记观点 · 问题 · 建议