连接与超时 / TIMEOUT
AI 模型请求超时:从客户端到上游逐层排查
直接答案
先判断是连接超时、首字节超时还是读取超时,再用 request ID、分段耗时和最小请求定位。
症状与常见原因
- 客户端超时设置小于模型正常响应时间
- 网络链路、DNS 或 TLS 建连异常
- 上游负载高或输入过大
如何确认问题
- 记录 HTTP 状态、错误类型与错误码、request ID、响应头、SDK 异常、模型、端点、项目和发生时间。
- 对比最小请求与失败请求,每次只改变一个变量,确认故障发生在客户端、网络、网关还是服务商层。
- 日志中不得保存完整 API Key、Authorization 请求头、用户敏感输入或私密文件内容。
排障步骤
- 记录 DNS、连接、首字节和总耗时
- 缩短输入并用最小请求复现
- 检查服务商状态页和 request ID
- 为幂等请求设置有限重试,非幂等请求先确认结果
常见错误做法
- 对不可重放请求或明确的配置错误进行无上限重试。
- 同时更改密钥、模型、代理和请求参数,导致无法判断真正修复项。
- 关闭 TLS 校验、公开原始日志,或把临时缓解误判为已经恢复。
修复后的验证方法
- 用脱敏的最小请求确认状态码、响应结构和延迟恢复正常。
- 恢复少量真实流量,观察错误率、重试次数和业务结果,不立即放大并发。
- 确认没有重复副作用、告警恢复,并保留 request ID 与时间窗口供复盘。
常见问题
超时是否代表请求一定失败?
不一定。客户端超时后服务端可能仍在处理;涉及计费或写操作时应先查询结果。