超时最佳实践
编辑超时最佳实践
编辑此客户端默认配置的行为类似于许多 HTTP 客户端库,即对发送到 Elasticsearch 的所有请求使用相对较短的(30 秒)超时时间,当超时时间过去而未收到响应时,会引发 TimeoutError
。但是,Elasticsearch 最终总是会响应任何请求,即使需要几分钟。 官方 Elasticsearch 建议是默认完全禁用响应超时。
由于更改此默认值将是一项破坏性变更,我们将在下一个主要版本之前不做更改。同时,以下是我们正确配置客户端的建议
- 确保启用持久连接 (keep-alive);这是默认设置,因此无需更改任何设置,除非您已将
agent
设置为false
或提供了禁用了持久连接的替代agent
。 - 如果使用默认的
UndiciConnection
,请通过将timeout
设置为0
来禁用请求超时。 - 如果使用旧版的
HttpConnection
,请将timeout
设置为非常大的数字(例如,86400000
,即一天)。