AI Gateway 延迟指南:分别测量网关、供应商与获救请求
网关确实增加一跳,但用户感受到的是完整请求路径。应分别测量客户端往返、首 token、流持续时间和网关处理,并把首次尝试、重试、回退与缓存命中分成不同组,避免平均值掩盖请求快慢的真正原因。
发布 2026-08-15 · 更新 2026-08-15 · KeepRouter Editorial · 9 分钟阅读

先给结论:比较 AI Gateway 与供应商直连时,应固定客户端区域、模型线路、提示词、输出上限、流式模式和连接状态。报告 p50、p95 与 p99 的首 token 和总完成时间,并给重试、回退与缓存结果加标签,不要把它们混成一个平均值。
网关自身处理时间很重要,但只是用户可见延迟的一部分。DNS、TLS、连接复用、请求上传、网关准入、供应商路由、供应商排队、模型生成、流传输与客户端解析都会产生影响。
采集前先定义时钟
| 时钟 | 起点 | 终点 | 回答的产品问题 |
|---|---|---|---|
| 客户端往返 | 发送前一刻 | 终止响应或错误 | 用户等待了多久? |
| 首字节时间 | 发送前 | 第一个响应字节 | 链路多快开始响应? |
| 首 token 时间 | 发送前 | 第一个可用模型输出 | 生成的响应感如何? |
| 流持续时间 | 第一个 token | 终止事件 | 输出生成和传输多久? |
| 网关上游前处理 | 网关收到 | 发出上游请求 | 准入、转换和路由做了什么? |
| 网关上游后处理 | 收到上游响应 | 发给客户端 | 规范、日志或计费做了什么? |
不要把一家厂商的内部处理数字与另一家的客户端往返直接比较,也不要把一个区域的平均值与另一区域的尾部分位数比较。每个结果旁边都应写清测量定义。
建立可重复请求集
删除密钥后使用生产形态载荷。至少包含短非流式、流式、代表性长上下文、工具调用与预期失败。固定公开模型 ID;产品允许时,还要固定供应商线路与模型版本。
保持相同输出上限,否则某条线路可能因为产生更多有效内容而显得更慢。temperature 与 reasoning 控制在生效时也要保持一致。把响应使用量和终止状态与时间数据一起保存。
控制网络路径
从同一计算位置运行直连与网关请求。记录 DNS 与 TLS 是否预热、HTTP 连接是否复用,以及网关或供应商是否冷启动。住宅网络浏览器与云区域服务器回答的是不同问题。
先测试低并发,再测试应用预期并发。单请求中看不到的排队,可能在突发流量中占主导。使用足够样本让尾部分位数有意义,并公开样本量。
按线路结果拆分数据
| 分组 | 为什么必须分开 |
|---|---|
| 首次尝试成功 | 说明不含恢复成本的正常线路 |
| 同线路重试 | 包含必要或可避免的第二次尝试 |
| 供应商故障切换 | 改变网络、队列、缓存,可能还改变数据策略 |
| 模型回退 | 改变生成行为与输出长度 |
| 缓存命中 | 可能完全跳过模型生成 |
| 缓存未命中 | 同时承担查询与正常生成 |
回退可以提高完成率,也会让该请求更慢。这可能是合理产品取舍,但一个延迟平均值无法解释。应把时间与成功率和任务质量一起看。故障切换设计指南说明如何识别各次尝试。
用证据拆分网关工作
认证、额度检查、策略查询、请求转换、日志写入、费用计算、缓存访问与响应规范都可能增加时间。关键路径取决于实现,远程数据库或同步日志服务的影响可能超过代理代码本身。
如果产品提供 trace span 或网关时间戳,应直接使用。跨系统相减前先确认时钟同步。如果只能取得客户端数据,就明确报告边界,不要虚构内部归因。
把流式当作有状态协议测量
记录第一个有效事件、第一个内容 token、工具调用事件、用量事件与终止事件。连接可以很快打开,却很晚才产生可用内容;没有终止事件的流,在首字节图上可能很快,却会留下不完整计费和客户端状态。
取消流并观察供应商工作与计费何时停止。使用慢客户端测试 backpressure。网关不应无界缓冲流,也不应改变客户端依赖的事件顺序。
按交互设定预算
自动补全、聊天、代码 Agent 与后台任务需要不同预算。为首 token 与总完成时间设置可接受 p95 增量,同时为重试设置最大总截止时间。供应商选择与上游负载会变化,发布后仍需监控同一指标。
简短说明见网关是否增加延迟,再用 AI Gateway 评估框架把延迟与契约、可靠性、安全和成本证据结合。
常见问题
应该报告哪个延迟分位数?
至少报告 p50 与 p95,样本量足够时报告 p99,并附样本数与测试窗口。
缓存命中应计入平均值吗?
应作为独立分组。缓存命中与模型生成是不同执行路径。
首字节可以替代首 token 吗?
不能。网关可能在可用模型输出前发送响应头或元数据,两只时钟回答不同问题。
重试应如何出现在延迟报告中?
给每次尝试加标签,并把首次成功、获救请求与耗尽失败分别报告。
参考的一手资料
本文最近复核 2026-08-15
- [1] OpenTelemetry trace concepts
- [2] Cloudflare AI Gateway analytics
- [3] Vercel AI Gateway observability
- [4] KeepRouter API observability