标签:col 实时 不同 无限 测试 图片 sea 可用内存 amp
目录
过滤器缓存负责存查询中使用到的过滤器。
Elasticsearch包含两种类型的过滤器缓存:节点过滤去缓存(默认)和索引过滤器缓存。
节点过滤器缓存被分配在节点上的所有索引共享,可以配置成使用特定大小的内存,或分配给Elasticsearch总内存的百分比。属性是indices.cache.filter.size。
索引过滤器缓存基于索引级别,一般来说,应该使用节点级别的过滤器缓存,因为很难预测每个索引最终缓存大小,通常也不知道最终节点会有多少索引。
字段数据缓存是Elasticsearch缓存的一部分,主要用于当查询对字段执行排序或切面时。构建字段数据缓存是昂贵的。
允许用于字段数据缓存的内存大小用indices.fielddata.cache.size属性来控制。这些值是节点级别的。此外,默认情况下,字段数据缓存的大小是无限的。
我们可以控制字段数据缓存的过期时间,默认情况下字段数据缓存是永不过期的。用indices.fielddata.cache.expire属性来控制。重建字段数据缓存是非常昂贵的,一般情况下,不应该设置过期时间。
字段数据断路器允许估计一个字段加载到缓存所需的内存。利用它,可以抛出异常防止一些字段加载到内存。有两个属性来控制其行为,indices.fielddata.break.limit,默认是80%。indices.fielddata.break.overhead,默认是1.03,定义了用来与原始估计相乘的一个常量。
Elasticsearch中的存储模块负责控制如何写入索引数据。
利用index.store.type属性,指定使用存储的类型:
Elasticsearch允许设置最大的内存数。indices.memory.index_buffer_size设置节点上所有索引分片共拥有的最大内存大小。例如20%,Elasticsearch提供最大堆大小20%的内存给索引缓冲。
indices.memory.min_index_buffer_size,默认是4mb,允许每个分片设置最小索引缓冲。
index.refresh_interval指定在索引搜索器对象刷新频率,默认是1s,基本意味着数据视图刷新的频率。刷新率越低,文档对搜索操作可视的时间越短和索引操作将会变慢。
当对数据重建索引时,建议在索引阶段把index.refresh_interval属性设为-1。
Elasticsearch使用多个池来控制线程的处理。
Elasticsearch公开的如下线程池类型:
必须给予Elasticsearch足够的内存,而且是物理内存。一般来说,运行Elasticsearch的JVM进程不应该超过可用内存的50%或60%。另外,把Xms和Xmx参数设置为相同的值以避免JVM堆的大小调整。
标签:col 实时 不同 无限 测试 图片 sea 可用内存 amp
原文地址:https://www.cnblogs.com/51zone/p/9863962.html