OpenAI
页面内容为机器翻译。查看英文原文。

排查 API 错误和延迟问题

本文介绍如何使用服务健康状况和用量仪表板,在使用 OpenAI API 时排查常见错误和延迟问题。

更新于:9 days ago

重要链接

从正确的默认设置开始

打开服务运行状况仪表板时,其默认设置为:

  • 所有项目

  • 过去 30 天

  • 小时级分辨率

此视图仅适合用于了解概况。有意义的故障排查始终需要筛选。

调查前先筛选

正确筛选是最重要的一步。大多数误读都源于混合了模型、层级或项目。

按模型筛选(一次一个)

始终筛选到单一模型。

原因:

  • 低流量模型上的问题可能被更高流量掩盖

  • 高流量模型可能会让局部问题看起来像全局问题

  • 不同模型有不同的性能目标

注意:选择多个模型会将它们聚合,而不是在它们之间切换。

按服务层级筛选

如果您使用多个层级(标准层级、快速模式〔原“优先处理”〕、规模层级),请始终筛选出您正在调查的层级。

原因:

  • 不同层级具有不同的性能特征

  • 快速模式和规模层级具有明确的 SLA

  • 混合不同层级会掩盖付费层级的性能

这对于延迟分析尤其重要。

对于现有模型,快速模式流量在“用量”仪表板中仍显示为“priority”。

按项目筛选

默认情况下,服务运行状况会显示所有项目。

进行故障排查时,请筛选到观察到问题的项目。

原因:

  • 单个高流量项目可能主导指标。

  • 较小的受影响项目可能被无关流量掩盖。

仅在你认为问题确实影响整个组织时,才保留选中“所有项目”。

错误故障排查

使用 HTTP 请求视图

要调查错误:

  1. 按模型和服务层级筛选。

  2. 打开 HTTP 请求标签页,而不是运行时间标签页。

此视图按 HTTP 状态码显示总请求数和错误计数。放大到分钟级分辨率,以识别细粒度的峰值或变化。

解读错误率,而非错误计数

任何生产系统中都预期会出现一些错误。关注错误百分比,而不是原始总数。

总量越大,即使错误率极低,潜在错误数量也会越大。

服务运行状况中缺少错误时

如果你看到客户端错误,但服务运行状况中没有相应数据:

  • 请求可能未到达 OpenAI。

  • 问题通常发生在上游(超时、代理、网络)。

这在激进的客户端超时设置中很常见。

延迟问题排查

对具有明确 SLA 的快速模式和规模层级进行延迟分析最有意义。标准层级的延迟波动可能更大,而且不提供延迟保障。

关键指标

要查看各项指标,请点击相关标签页:

  • Token 速度:每秒生成的 Token 数;与提示大小无关。

  • 请求时间:请求总时长;受输出大小和推理强烈影响。

  • 首个 Token 时间 (TTFT):直到生成第一个 Token 的时间;受未缓存输入提示大小和推理强烈影响。

始终查看 P50 / P75 / P95 百分位数。平均值可能掩盖真实用户影响。

关联分析延迟与 Token 用量

服务健康状况显示运行表现何时发生了变化。用量数据则有助于解释原因。

在用量仪表板中,执行以下操作,确保查看的数据与服务健康状况仪表板中所查看的内容相对应:

  • 筛选出相同的项目和模型。

  • 如适用,按服务层级分组。

  • 重点关注输出 Token,其数量对延迟的影响最大。

如需深入分析,请导出活动数据,查看每次请求的 Token 数量随时间的变化。

联系支持团队时应提供的信息(如有需要)

如果联系支持团队,请提供:

  • 受影响的组织 ID(重要)

  • 受影响的端点,例如 Chat Completions 或 Responses(重要)

  • 受影响的模型(重要)

  • 问题是否发生在快速模式或规模层级下(重要)

  • 出现延迟或错误的时间范围,并注明时区(重要)

  • 相关的 x-request-id 或 X-Client-Request-Id(如有)

  • 所提供请求的时间戳,并注明时区;至少应提供日期

如有以下信息,也请提供:

  • 与请求相关的项目 ID

  • 有数据驻留要求的请求是否受到影响,以及具体是哪些请求

  • 对所观察到的变化趋势的描述

根据问题类型,请提供:

  • 错误:失败或出错请求的大致占比、响应代码、错误消息,以及收到错误响应所用的时间。

  • 延迟:受影响的百分位数(P50 / P90 / P95 / P99)、相较于客户基准值的增幅,以及慢请求示例及其发送和接收时间戳。

  • 两类问题均需提供:错误或延迟数据的截图或表格,以及判断错误率或延迟高于预期的依据。

常见故障排查场景

发生超时但服务运行状况看起来正常

可能原因:请求在到达 OpenAI 之前超时。

检查:

  • 客户端或代理超时设置

  • 本地网络或负载均衡器变更

  • 服务运行状况仪表板中是否存在 499 错误(这些错误在你自己的系统中可能显示为 5xx 错误)。

未部署却出现延迟上升

可能原因:输出 Token 大小或推理使用量增加,和/或流量在服务层级之间发生转移。

检查:

  • 使用情况仪表板中每个请求的平均输出 Token 数(需要下载数据,并用输出 Token 数除以总请求数)。

  • 服务运行状况仪表板中的请求时间和 TTFT 百分位数。

快速模式或规模层级看似很慢

可能原因:不同层级的指标混在一起,导致标准层级的流量掩盖了付费层级的性能。

检查:

  • 筛选条件仅限于单个层级和模型。

  • 比较不同层级的 Token 生成速度。

5XX 错误激增

可能原因:影响少量流量的暂时性故障。

检查:

  • 错误率百分比

  • 流量是否同时发生变化

问题仅影响一个项目

可能原因:项目特定的配置或使用模式。

检查:

  • 项目级筛选

  • 与未受影响项目进行比较

最终要点

  • 解读指标前,请在相关情况下按模型、层级和项目筛选。

  • 进行延迟分析时使用百分位数,而不是平均值。

  • 少量错误率属于预期情况。

  • 缺失数据通常表示上游问题。

  • 使用情况数据可以帮助解释延迟变化的原因;服务运行状况显示行为变化发生的时间。

这篇文章对你有帮助吗?