ElasticSearch性能优化

ElasticSearch性能优化

1) 防止脑裂

discovery.zen.minimum_master_modes: 50% 节点最小数

2) 设置memory_lock

来锁定进程的物理内存地址 bootstrap.memory_lock: true 允许 JVM 锁住内存,禁止操作系统交换出去

3) 设置分片数

如果分片数过少或过多,都会导致检索比较慢。

  分片数过多会导致检索时打开比较多的文件,另外也会导致多台服务器之间通讯。

  而分片数过少会导至单个分片索引过大,所以检索速度也会慢。

  建议单个分片最多存储20G左右的索引数据,分片个数建议5-20个比较合适

 

4) 设置副本数

副本多的话,可以提升搜索的能力,但是如果设置很多副本的话也会对服务器造成额外的压力,因为需要主分片需要给所有副本同步数据。所以建议最多设置1-2个即可

 

5) 构建全量数据

如果在项目开始的时候需要批量入库大量数据的话,建议将副本数设置为0,不需要实时refresh

"number_of_replicas": 0 可以先关闭replicas建立副本

"refresh_interval": "-1" 不需要实时refresh

 

6) 去掉mapping中_all字段

Index中默认会有_all这个字段,默认会把所有字段的内容都拷贝到这一个字段里面,这样会给查询带来方便,但是会增加索引时间和索引尺寸。

 

7) translog 优化:

     "translog": {

                "sync_interval": "60s",     --sync间隔调高

                "durability": "async",        – 异步更新

                "flush_threshold_size":"1g"  --log文件大小

             }

 

8) 使用node master, client data

master,client不存储任何索引数据。协调各种创建索引请求或者查询请求

data节点不用开启http服务。将其中的配置 参数这样设置:http.enabled: false,同时也不要安装head, bigdesk, marvel等监控 插件,这样保证data节点服务器只需处理创建/更新/删除/查询索引数据等操作。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值