You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Elasticsearch Delete By Query中requests_per_second的requests含义及相关疑问

问题1

从示例来看,requests_per_second中的requests似乎指代ES索引中的文档,而非内部scroll/批量请求,也就是说该参数实际是控制每秒处理的文档数量,对吗?如果是这样的话,我认为docs_per_second可能是更合适的命名。

解答

你的理解完全正确。requests_per_second实际控制的是每秒处理的文档数量,而非内部的scroll或者批量请求数。
这个参数的计算逻辑完全以文档数为基准:用单批次处理的文档数(默认1000条)除以你设置的requests_per_second值,得到单批次的预期处理耗时,再减去实际写入耗时,就是批次间需要等待的时间。你认为docs_per_second是更合适的命名这个判断没问题,这是ES早期版本遗留的参数命名,为了向后兼容就一直没有修改。


问题2

我不太理解为什么批次要作为单个_bulk请求下发?

解答

Delete By Query 把每一批待删除文档打包成单个_bulk请求下发,主要是出于两方面的考量:

  • 降低请求开销:如果每条文档都单独发删除请求,TCP连接、请求解析、元数据处理的额外开销会非常高,批量提交能大幅提升整体删除效率,减少不必要的资源浪费。
  • 便于状态管理:单批次的_bulk请求可以统一返回该批次所有文档的删除结果,方便统计成功/失败状态,也能避免单条删除可能出现的顺序错乱、状态不一致的问题。

内容的提问来源于stack exchange,提问作者Jacky Wang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 11:18:03