跳到主要内容
万川
文档导航
本页目录

端点与本地测速

慢分两种:链路慢和模型慢。这两种的处理方式完全不同,先测出来是哪一种再动手。

下面的脚本都基于 curl,macOS / Linux 自带,Windows 建议在 WSL 或 Git Bash 里跑。/v1/models 不计费,适合反复测链路。

端点一览

全部挂在 https://chuanapi.com 下:

路径用途
/v1/chat/completionsOpenAI Chat Completions,兼容面最广
/v1/responsesOpenAI Responses,部分推理模型能力更完整
/v1/messagesAnthropic Messages,Claude Code 与 Anthropic SDK 走这里
/v1/models列出当前密钥可见的模型

注意 SDK 的 base URL 写法不同:OpenAI 系带 /v1,Anthropic 系不带。详见 使用 Anthropic SDK

测连接延迟

先测不含模型推理的纯链路耗时:

# 连接层延迟:DNS、TCP、TLS、首字节
curl -o /dev/null -s -w \
'dns:      %{time_namelookup}s
tcp:      %{time_connect}s
tls:      %{time_appconnect}s
ttfb:     %{time_starttransfer}s
total:    %{time_total}s
' https://chuanapi.com/v1/models \
  -H "Authorization: Bearer $WANCHUAN_API_KEY"

单次结果波动大,跑十次看中位数更有意义:

# 连打 10 次,看中位数而不是单次
for i in $(seq 1 10); do
  curl -o /dev/null -s -w "%{time_total}\n" https://chuanapi.com/v1/models \
    -H "Authorization: Bearer $WANCHUAN_API_KEY"
done | sort -n | awk '{a[NR]=$1} END {print "median:", a[int(NR/2)+1]"s"}'

测首字延迟

首字延迟(TTFT)决定了用户「感觉快不快」。开流式后测到第一个字节的时间:

# 首字延迟(TTFT):从发出请求到收到第一个 token
curl -N -s -o /dev/null -w "ttft(approx): %{time_starttransfer}s\n" \
  https://chuanapi.com/v1/chat/completions \
  -H "Authorization: Bearer $WANCHUAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MODEL_ID",
    "messages": [{"role": "user", "content": "说一个字"}],
    "stream": true,
    "max_tokens": 16
  }'

MODEL_ID 换成 模型目录 里的真实 id。注意这次会产生少量计费。

怎么读这些数字

  • tls 减去 tcp 明显偏大:握手慢,通常是网络路径问题。换网络环境或部署到离网关更近的地方会有明显改善。
  • /v1/models 很快,但对话请求的 ttft 很慢:链路没问题,慢在模型侧。换一个更轻的模型,或缩短输入上下文。
  • 两者都慢:先解决链路。链路没修好之前,换模型不会有帮助。
  • 偶发极慢:可能撞上了上游抖动或限流。看返回状态码,429 的处理方式见 错误码

推理类模型的 TTFT 天然就长——它要先想再答。选型时建议同时比较 TTFT 和总时长,别只看其中一个。

相关文档