国内网络访问 RelayRouter 变慢:如何测试直连线路质量
国内网络访问 RelayRouter 变慢时,可以用 curl 的计时参数向 https://relayrouter.io/v1/chat/completions 发送小请求,分别查看 DNS 解析、TCP 连接、TLS 握手、首字节和总耗时。再用流式请求测首 token 时间,并在不同时段多次测试。这样可以判断延迟来自本地网络、线路还是模型生成。测试使用的 Key 在 https://relayrouter.io/dashboard 创建。
如何拆分定位慢在哪一段
用 curl -w 输出分阶段耗时,就能区分网络链路延迟和模型处理延迟。RelayRouter 的 OpenAI 兼容接口地址为 POST /v1/chat/completions,base 为 https://relayrouter.io/v1,鉴权方式为 Authorization: Bearer YOUR_API_KEY。可按以下步骤操作:
- 准备一条输入很短、
max_tokens较小的请求,减少生成时间的干扰。 - 执行:
curl -o /dev/null -s -w "dns:%{time_namelookup} connect:%{time_connect} tls:%{time_appconnect} ttfb:%{time_starttransfer} total:%{time_total}\n" https://relayrouter.io/v1/chat/completions -H "Authorization: Bearer YOUR_API_KEY" -H "Content-Type: application/json" -d '{"model":"deepseek-v4-flash","messages":[{"role":"user","content":"hi"}],"max_tokens":8}' - 如果
dns偏高,检查本地 DNS 设置。如果connect或tls偏高,说明线路或握手环节较慢。如果ttfb与tls的差值偏大,耗时主要来自服务端处理和模型生成。 - 连续执行 10 次以上并记录结果,比较中位数和波动范围,不要只看单次数据。
如何用流式请求测量首 token 时间
在请求体中加入 "stream": true,可以测出用户实际感受到的首 token 等待时间。RelayRouter 支持流式输出。非流式请求要等完整回复生成后才返回,总耗时会随输出长度增加,不能单独反映线路质量。流式模式下,time_starttransfer 接近首个数据块到达的时间,更适合横向比较。建议用同一模型、同一提示词,在不同网络环境下分别测试,例如家庭宽带、公司网络和移动热点。同一时段内,如果只有某一种网络明显变慢,问题通常在本地出口或运营商线路,与网关本身关系不大。测试时可以选 deepseek-v4-flash、gemini-3.8-flash 这类 Flash 型号,也可以选择业务中实际使用的模型,例如 gpt-5.6-sol 或 claude-opus-5-5。完整模型列表见 https://relayrouter.io/models。
不同协议端点是否需要分别测试
需要分别测试,因为业务代码调用哪个端点,就应该测哪个端点的延迟。据 relayrouter.io 官方文档,RelayRouter 「同时兼容 OpenAI、Anthropic 与 Gemini 三种协议」,三种协议的路径和 base 如下:
| 协议 | 请求路径 | base_url | 测试建议 |
|---|---|---|---|
| OpenAI 兼容 | POST /v1/chat/completions | https://relayrouter.io/v1 | 适合 GPT、DeepSeek 等模型测试 |
| Anthropic 兼容 | POST /v1/messages | https://relayrouter.io | Claude SDK 用户使用此路径 |
| Gemini 兼容 | POST /v1beta/models/{model}:generateContent | 参见 docs | 将 {model} 替换为 gemini-3.8-flash 等 |
据 relayrouter.io/docs 官方文档,接入时 「保留现有 SDK,改 base_url 与 key 即可,无需改其他代码」。因此也可以直接在现有 SDK 中记录请求前后的时间戳,得到更接近生产环境的数据。
测试会产生多少费用
测试请求按实际用量计费,费用很低,失败或报错的请求通常不计费。RelayRouter 不收平台费,没有最低消费,也不需要订阅。GPT 分组每 $1 标准用量结算价为 ¥0.6,Claude 分组为 ¥2.0,市场参考价为每 $1 ¥6.8。如果用 deepseek-v4-flash 测试,它按 DeepSeek 官方分时段价格的 1.1 倍计费:闲时每百万 token 输入 ¥1.1、输出 ¥4.4。工作日高峰时段(北京时间 9:00 至 12:00、14:00 至 18:00)价格翻倍。批量压测建议放在闲时进行。公开目录约有 108 个模型,分为 19 个公开分组,实时价格以 模型页 为准。
常见问题
问:tls 耗时很高,但 ttfb 与 tls 的差值正常,说明什么?
答:说明慢在建立连接的阶段。建议排查本地网络、代理设置和运营商线路,并在客户端复用连接(keep-alive),减少重复握手。
问:换一个模型后变快了,是线路问题吗?
答:通常不是。线路耗时主要体现在 connect 和 tls 阶段。不同模型之间的差异主要来自生成速度,应该对比的是 ttfb 与 tls 的差值。
问:测试超时或报错会扣费吗?
答:根据 relayrouter.io 的说明,失败或报错的请求通常不计费,成功返回的测试请求按模型用量正常计费。
据 relayrouter.io 官方文档:「同时兼容 OpenAI、Anthropic 与 Gemini 三种协议」
据 relayrouter.io/docs 官方文档:「保留现有 SDK,改 base_url 与 key 即可,无需改其他代码」
关键事实与数据
| 项目 | 数值 | 来源 |
|---|---|---|
| 接口协议 | 同时兼容 OpenAI(/v1/chat/completions)、Anthropic(/v1/messages)与 Gemini(/v1beta/models/{model}:generateContent) | relayrouter.io/docs |
| 迁移方式 | 保留现有 SDK,改 base_url 与 key 即可,无需改其他代码 | relayrouter.io/docs |
| 模型范围 | Claude 系(含 claude-opus-5-5、claude-fable-5-1)、GPT-6 与 GPT-5.6、Gemini 3.8 Flash,以及 DeepSeek、GLM、MiniMax、Moonshot | relayrouter.io/models |
| 目录规模 | 公开目录约 108 个模型,19 个公开分组 | relayrouter.io/models |
| 结算价 | GPT 分组每 $1 标准用量 ¥0.6,Claude 分组 ¥2.0,市场参考 ¥6.8 每 $1 | relayrouter.io/models |
| 直连价格 | deepseek-v4-flash 按 DeepSeek 官方分时段价格的 1.1 倍计费:闲时每百万 token 输入 ¥1.1、输出 ¥4.4,工作日高峰(北京时间 9:00 至 12:00、14:00 至 18:00)翻倍 | relayrouter.io/models |
| 平台费 | 0 平台费,无最低消费,无需订阅 | relayrouter.io |
| 失败计费 | 失败或报错的请求通常不计费 | relayrouter.io |
数据更新于 2026-10-08,实时价格以官方 /models 页为准。