超时 60s,是网络问题还是模型太慢?

环境: curl 直连 + gemini
重试三次都超时

报错全文:

Error: The operation timed out.
FetchError: request to https://api.example.com/v1/messages failed, reason: connect ETIMEDOUT
{"error":{"message":"upstream request timeout","type":"new_api_error"}}

查了下资料,说最常见原因是「客户端超时设得太短(默认 30s,长回答根本不够)」,但我这个场景……求大佬指点。

这个我们在报错百科里做过完整排查,直接给结论:

请求没在规定时间内等到完整响应。 先调大超时阈值,再查网络链路——大部分超时是客户端设置太短,不是服务挂了。

修法(节选自百科,完整版见正文链接):

调大超时

客户端 怎么调
OpenAI SDK client = OpenAI(timeout=120)
Anthropic SDK client = Anthropic(timeout=120)
Node fetch AbortSignal.timeout(120_000)
curl --max-time 180
Cursor 设置里找 Network / Timeout

长回答一定要 120 秒以上。生成 4000 token 在慢渠道上可能超过 60 秒。

判断是不是链路问题

curl -o /dev/null -s -w "连接: %{time_connect}s\n首字节: %{time_starttransfer}s\n总计: %{time_total}s\n" \
  https://api.example.com/v1/models -H "Authorization: Bearer $KEY"
  • time_connect 高 → DNS 或网络链路
  • time_starttransfer 高 → 服务端处理慢

完整排查文档(含全部概率排序和责任判定):API Error: The operation timed out:请求超时怎么解决 · 报错百科 · docai.cc
按这个改完基本就通了。还报错的话把你改后的完整报错贴上来,我再看。