LLM 网关价格与延迟基准 —— 自己跑

「又快又稳」是说法;能重跑的数字才是证据。这里教你如何在 OpenAI 兼容网关上测连通率、p50/p95 延迟和每百万 token 价格 —— 可复现且安全。

更新于 2026-09-15

它测什么#

可用率

N 次重复中 HTTP 200 的占比 —— 连通率。

延迟

一个极小固定请求的 p50 / p95 / 平均往返时间。

价格

每百万输入/输出 token 的美元价,来自你从官方页填写的价格文件。

它如何保持诚实(方法论)#

  • 结构上就已脱敏。 一条记录只含:模型 id、ok 标志、HTTP 状态、延迟(毫秒)、token 总数与粗粒度错误分类。你的 key、prompt 与响应文本从不打印或存储。
  • 可复现。 任何人都能对着自己的账户与模型重跑。
  • 是快照,不是判决。 某时点的极小请求不代表总体质量或长期可靠性。
  • 设计上公平。 可加入任何其他 OpenAI 兼容网关并排对比。

这一页为什么没有 leaderboard

贴一张「示意」数字的表,就是「示例」在被转载三次之后悄悄变成「实测」的方式。我们没有做过一次敢在你的模型、你的地区、你的账号上都站得住的测量,所以这一页交给你的是方法。工具是开源的 —— 数字应该是你自己的。

怎么设计一次说明得了问题的对比#

大多数网关对比在第一个请求发出之前就已经不成立了,因为两边根本没被派同样的活。把下面五件事做对,结果才值得拿出来争论:

  • 同一个 prompt、同一组参数。 文本完全一致,max_tokens 一致,temperature=0,stream 设置也要一致。一边的 prompt 更长,会同时抬高它的延迟和它的成本。
  • 同一个模型,而不是同一个模型名。 别名在不同供应商那里指向不同构建。请从各家自己的模型列表里取准确 ID,并把 ID 记进结果里。
  • 交叉跑,别成批跑。 按 A、B、A、B…… 交替,而不是先跑五十次 A 再跑五十次 B。成批跑测到的是时段和上游当时的状态,却把账算到某一家头上。
  • 重复次数要撑得起你引用的那个分位。 五个样本得不出有意义的 p95。样本少就老实报中位数和区间,别把它包装成尾部指标。
  • 报离散度,不要只报中间值。 中位数好看、p99 很糟的供应商,在生产里就是不可靠 —— 哪怕平均值看着体面。

会悄悄让一次测量作废的坑#

坑它会把你的数字变成什么怎么控制
冷启动空闲链路上的第一次调用要付 DNS、TLS 和上游预热的钱 —— 常常是几百毫秒,而这与供应商本身无关。给每个端点先发一个丢弃用的预热请求,或统一丢掉前 N 个结果,两边做法必须一致。
Prompt 缓存重复发同一个 prompt 可能命中上游缓存,快得、便宜得不合常理,于是第二轮「证明」出一个真实业务里永远不会出现的提速。要「未命中缓存」的数字,就在 prompt 里加一个随机串;要「命中缓存」的数字,就固定 prompt 并明确说明。
你自己的地理位置你测的既是供应商,也是自己的网络路径。从法兰克福跑出来的结果,说明不了同一家从圣保罗访问会怎样。写清楚你在哪里跑的,并从生产流量真正发起的那个地区重跑一遍。
并发串行请求测的是最好情况。限流、排队、节流只有在并行压力下才现形 —— 而生产就是并行的。测两遍:串行一遍拿干净基线,并发一遍按你真实的峰值来。
流式 vs 完整响应首 token 时间和末 token 时间是两个不同指标,一家可能赢了前者却在后者上输得很惨。选一个并标注清楚。用户盯着 token 往外冒,那诚实的数字就是 TTFT;批处理任务则看完整响应时间。
输出长度漂移即使 temperature=0,两家吐出的长度也不同。输出更长意味着延迟更高、成本更高,读起来就成了「这家又慢又贵」。把 usage 的 token 数和延迟记在一起;长度差得多时,归一化成「每输出 token 多少毫秒」。
这些都不冷门。每一条都催生过「X 比 Y 快 3 倍」的爆款图,而它们在重跑时全都散架了。

怎么跑#

每个数据点是一个极小的 POST /v1/chat/completions,固定 prompt,max_tokens=8、temperature=0、stream=false。克隆 llm-gateway-benchmark 仓库后:

bash
# 刷新「示例」leaderboard(无需 key、零花费)
npm run sample

# 真实测量(发送实时、可能计费的请求)
export DAOXE_API_KEY="你的key"
export DAOXE_MODELS="id-1,id-2"
npm run measure && npm run aggregate

成本与预算

一次真实运行会发送 模型数 × 重复次数 个请求(默认 5 次),每个上限 8 个输出 token。先查当前价格与余额。测试预算:待确认。

加入另一个网关#

任何 OpenAI 兼容 endpoint 都行:填它的 /v1 base URL 和模型 ID,并加一列清楚标注的数据。诚实对比才是全部意义 —— 包括把 DaoXE 和官方 API 对比。

从说法到数字

跑过之后,你就不必再信任何人的营销 —— 包括我们的。把它和掉包鉴别结合,就能同时检查模型真伪,而不只是速度。

常见问题#

benchmark 会看到我的 key 吗?

不会。它本地运行,从不打印或存储你的 key、prompt 或模型响应 —— 只有脱敏指标。

能测 DaoXE 以外的供应商吗?

能 —— 它与供应商无关。对准官方 API 和任何 OpenAI 兼容网关做对比即可。

这一页为什么不放 leaderboard?

因为服务方自己发布的、关于自己的性能表是营销,不是证据;而「示意」表迟早会被人当成实测转述。所以我们只给方法和工具 —— 数字应该来自你的模型、你的地区、你的账号。

一次运行能当作质量判决吗?

不能 —— 它只是极小请求的快照。请按计划重跑,并结合能力探针综合判断。

试用 DaoXE —— 并亲自 benchmark 它

一个 key 调 GPT、Claude、Gemini、DeepSeek 等。用开源 benchmark 对准我们做对比 —— 别只听我们说。