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

排查 API 错误和延迟问题

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

更新于:7 days ago

重要链接

从正确的默认设置开始

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

  • 所有项目

  • 过去 30 天

  • 小时级分辨率

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

调查前先筛选

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

按模型筛选(一次一个)

始终筛选到单一模型。

原因:

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

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

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

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

按服务层级筛选

如果你使用多个层级(标准、优先、规模),请始终筛选到你正在调查的层级。

原因:

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

  • 优先和规模层级具有明确的 SLA

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

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

按项目筛选

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

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

原因:

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

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

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

错误故障排查

使用 HTTP 请求视图

要调查错误:

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

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

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

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

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

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

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

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

  • 请求可能未到达 OpenAI。

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

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

延迟故障排查

延迟分析在具有明确 SLA 的优先规模层级上最有意义。标准层级可能显示更大的延迟波动,且不保证延迟。

关键指标

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

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

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

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

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

6. 将延迟与 Token 使用量相关联

服务运行状况显示行为变化发生的时间。使用情况数据有助于解释原因

在使用情况仪表板中,执行以下操作,以确保你查看的是与服务运行状况仪表板中视图相关的数据:

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

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

  • 重点关注输出 Token,因为它们对延迟影响最大。

如需更深入分析,请导出活动数据,并查看一段时间内每个请求的 Token 数。

7. 要与支持团队分享的内容(如需要)

如果你联系支持团队,请包含:

  • 受影响的组织 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 错误激增

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

检查:

  • 错误率百分比

  • 流量是否同时发生变化

问题仅影响一个项目

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

检查:

  • 项目级筛选

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

最终要点

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

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

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

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

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

这篇文章对你有帮助吗?