弹性搜索卷轴API对CPU的影响



滚动API对节点的CPU利用率有什么影响?我在ES version 6.2上遇到了高CPU利用率。

即使查询完成了一次以获取所有数据,然后使用scroll_id获取数据,我们也会体验CPU尖峰。

也存储了缓存结果的位置?在内存还是在磁盘上?

您应该在使用后清除滚动"指针"。

搜索上下文将自动删除滚动超时 超过了。但是,保持滚动的开放是有成本的,如所讨论的 在上一节中,应明确清除卷轴 不再使用清晰的滚动,不再使用滚动 API:

在这里描述

通常,背景合并过程通过合并来优化索引 较小的细分市场以创建新的较大细分市场,此时 较小的细分市场被删除。这个过程继续 滚动,但是开放的搜索上下文阻止了旧段 在仍在使用时被删除。这就是Elasticsearch的方式 能够返回初始搜索请求的结果, 不管随后对文档的更改。

因此,如果y了解很好,就没有缓存。只是您查询目标的片段被冷冻,直到您的卷轴到期为止。由于Lucene中的细分市场是不可变的,因此确保您将获得一致的结果,并且您将能够滚动创建滚动时存在的所有数据。但是,缺点是您的滚动"指针",目标段将保持打开状态并不删除。

因此,打开的段数将不断增加,并且所需的文件处理程序也将在增加。因此,在广泛的查询中,尤其是如果您在同一时间进行索引可能会导致性能问题。因为当您索引时,您会创建许多应该合并的小部分,但是如果您对它们进行滚动查询,则无法完全合并并删除它们。

您是否连续索引,您的滚动持续时间多长时间?

来自文档

最新更新