超时最佳实践

编辑

此客户端默认配置的行为类似于许多 HTTP 客户端库,即对发送到 Elasticsearch 的所有请求使用相对较短的(30 秒)超时时间,当超时时间过去而未收到响应时,会引发 TimeoutError。但是,Elasticsearch 最终总是会响应任何请求,即使需要几分钟。 官方 Elasticsearch 建议是默认完全禁用响应超时。

由于更改此默认值将是一项破坏性变更,我们将在下一个主要版本之前不做更改。同时,以下是我们正确配置客户端的建议

  • 确保启用持久连接 (keep-alive);这是默认设置,因此无需更改任何设置,除非您已将 agent 设置为 false 或提供了禁用了持久连接的替代 agent
  • 如果使用默认的 UndiciConnection,请通过将 timeout 设置为 0 来禁用请求超时。
  • 如果使用旧版的 HttpConnection,请将 timeout 设置为非常大的数字(例如,86400000,即一天)。