Bulk 在一个请求中发送多个索引操作。目标是在保持集群响应能力的同时提高成功操作速率,而不是最大化发送请求的数量。
每次调整一个维度
从包含代表性文档的适中批次开始。增加批次字节数,直到吞吐量不再提高,或内存和延迟恶化。然后单独调整并发发送者数量。一千条小事件与一千个大文档是完全不同的批次。
HTTP 成功响应也可能包含失败项
考虑下面经过简化的 bulk 响应示例:
json
Bulk 在一个请求中发送多个索引操作。目标是在保持集群响应能力的同时提高成功操作速率,而不是最大化发送请求的数量。
从包含代表性文档的适中批次开始。增加批次字节数,直到吞吐量不再提高,或内存和延迟恶化。然后单独调整并发发送者数量。一千条小事件与一千个大文档是完全不同的批次。
考虑下面经过简化的 bulk 响应示例:
一个包含详细解答的 IT 面试题库——从初级到高级。
捐赠逐步增加重试等待时间,并加入随机偏移,避免客户端同时重试。限制队列长度,队列满时让生产者减速,这就是背压。
网络结果不明确时,稳定的文档 ID 有助于避免重复记录,但脚本递增和旧更新还需要额外保护。监控被拒写入、内存、磁盘和搜索延迟。只有产品接受搜索可见性不那么即时,才降低 refresh 频率。
官方文档.