gpt4 book ai didi

Elasticsearch - indices.fielddata.cache.size 和 indices.fielddata.breaker.limit 之间的区别

转载 作者:行者123 更新时间:2023-11-29 02:48:53 26 4
gpt4 key购买 nike

One of the biggest causes of instability in Elasticsearch is fielddata: field values have to be loaded into memory to make aggregations, sorting and scripting perform as fast as they do.

如上Elasticsearch页面所述,大字段数据总是导致Elasticsearch内存不足(OOM)。因此我们可以设置indices.fielddata.cache.sizeindices.fielddata.breaker.limit来防止OOM .这两个设置有什么不同?他们有什么关系吗?

例如,我的 Elasticsearch JVM 有 2g 总内存。如果我将 indices.fielddata.cache.size 设置为 1g 但将 indices.fielddata.breaker.limit 设置为60%(即 1.2 克)。允许加载到内存的字段数据超过字段数据缓存大小。它会导致任何错误吗? ( Reference Fielddata )

谢谢。

最佳答案

研究了很久,终于找到了答案。

当您将 indices.fielddata.cache.size 设置为 1g 时。这意味着 elasticsearch 可以使用多少字段缓存大小来处理查询请求。但是当你设置indices.fielddata.breaker.limit为60%(即1.2g)时,如果查询数据大于这个大小,elasticsearch会拒绝这个查询请求并引发异常。

所以,如果查询数据小于1.2g但大于1g,elassticsearch会接受这个查询请求。达到indices.fielddata.cache.size后,旧数据将被刷新并释放内存用于新数据。

关于Elasticsearch - indices.fielddata.cache.size 和 indices.fielddata.breaker.limit 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21691795/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com