暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

集群调优策略—Index 写调优-1

碧茂大数据 2022-07-04
222

更多精彩,请点击上方蓝字关注我们!

1 分布式集群调优策略

  • 主要从index写调优和Search读两个方面进行调优

  • Index 写调优

    • 通过ES写入流程可以看出,如果写入doc是指定了id, 则ES会先尝试读取原doc的版本号以判断是否需要更新

    • 如果是集群首次灌入数据, 可以将副本数设置为0,写入完毕后再调整回去, 这样副本分片只需要拷贝数据, 节省了索引过程

    • 副本数设置为0

    • 自动生成doc ID

2 Index 写调优

  • 合理设置mappings

    • 将不需要建立索引的字段index属性设置为no或not_analyzed。即对字段不分词或不索引,可以减少很多运算操作

    • 减少字段内容长度, 如果原始数据的大段内容无需全部建立索引, 可以尽量减少不必要的内容

    • 使用不同的分析器(analyzer), 不同的分析器在索引过程中复杂度也有较大的差异

  • 调整_source字段

    • source字段用来存储doc原始数据, 对部分不需要存储的字段 ,可以通过includes 、excludes过滤, 或将source禁用, 一般用于索引和数据分离, 这样可以降低I/O 压力

  • 对analyzed字段禁用norms

    • norms用于在搜索时计算doc的评分, 如果不需要评分, 可以将其禁用

"title": {  "type": "string",  "norms": {    "enabled": false}
  • 调整索引的刷新间隔

    • 该参数默认是1s, 强制ES每秒刷新一个segment, 从而保证新写入的数据近实时的可见,可被搜索到

    • 如果将该参数刷新的时间调高, 降低刷新次数,减少资源消耗, 但也牺牲了ES的实时性

PUT my_index/_settings
{ "index" : { "refresh_interval": "30s"
}
}

关注公众号:领取精彩视频课程&海量免费语音课程




文章转载自碧茂大数据,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论