AI API Latency: TTFT, Streaming and Why First Token Matters
一次流式请求的时间线:DNS 解析 → TCP 握手 → TLS 握手 → 闸道验证与路由 → 上游连线 → 模型排队与首字 → 逐 token 输出。前三段是网络常数(台湾到香港 RTT 19ms,3×RTT ≈ 57ms 属正常),后三段才是服务商能优化的。
所以别把 60ms 的 TTFT 当故障——那是物理极限附近;该追的是 P95 突然变长(代表某上游排队或故障转移在发生)。
①闸道必须关闭 SSE 缓冲(flush_interval -1),逐 chunk 转发;②HTTP/3(QUIC)在部分网络会卡到逾时,服务端应只开 h1/h2;③上游长连接复用省掉每次请求的握手(实测可省 25ms+);④客户端 SDK 也要关缓冲(部分代理层的 gzip 会把 SSE 攒成一坨)。
①在控制台看 TTFT P50/P95 分布,定位是全面变慢还是长尾;②若是长尾——大概率是某上游故障正在触发换家(每次失败尝试吃掉一个逾时周期);③检查该时段是否正好有上游故障,服务商有没有自动切走;④自己网络层:换备援端点(例如香港↔日本通道)对比。
推理型模型(带 thinking)首字必然较慢——模型要先生成内部推理。旗舰模型在尖峰时段也可能排队。对延迟敏感的场景:选 flash/mini 等快速档位+稳定分组;OlithmRouter 的用量日志同时记录 first_token_ms 与总延迟,模型间可直接对比。