Elasticsearch7.6.*写入调优配置

原创
2020/04/30 15:44
阅读数 2.1K

 

写的虽然是写调优,除了一些index的设置外,其他平时都可以用...

安装配置阶段:

快速记录,忽略格式..

1.调整内存占用.

 修改config/jvm.options里的默认1g增大.自己看情况改

1
2
3
4
5
# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space
 
-Xms4g
-Xmx4g

 

关于用到的垃圾回收器等等,分析gc日志前,建议先默认就可以里.默认也是配置CMS和G1这种高效的收集器.

2.在config/elasticsearch.yml添加一些设置.

当然也是要看自己情况选择设置.

1
2
3
4
indices.memory.index_buffer_size: 40%
#写入线程个数,这里还可以配其他读查等,这也是老版本的bulk.size
thread_pool.write.size: 5
thread_pool.write.queue_size: 1000

  

3.修改服务器一些默认参数

要能启动,机器上的一些默认限制会报错.

  • vim /etc/security/limits.conf加:要切换用户生效
1
2
* soft nofile 65536
* hard nofile 65536

  

  •  vim /etc/sysctl.conf 追加:
1
vm.max_map_count=655360

  需要执行sysctl -p生效.

  • 在ES的官方文档上,要求Disabled Swapping

     执行swapoff -a

要永久的关闭swapping,需要编辑/etc/fstab文件,将包含swap的行的注释掉。

1
2
3
/dev/mapper/centos-root   /                       xfs     defaults        0 0
UUID=6a38540f-2ba9-437b-ac8b-8757f5754fff  /boot                     xfs     defaults        0 0
# /dev/mapper/centos-swap swap                    swap    defaults        0 0
  • 线程数等,如果有需要,比如你设置的es线程数超过了系统设置.还要加这些.

4.动态调整index设置.

比如这里的写入调优,可以把刷新时间设置为不刷新:

1
curl -H  "Content-Type: application/json"   -XPUT  '127.0.0.1:9500/index_name/_settings'   -d  '{"index" : {"refresh_interval" : "-1" }}'

  

设置异步同步磁盘:

1
2
3
"index"   : { "translog.durability" : "async"   }
 
#语法同第一条.就是加参数

  

还有磁盘刷新的间隔:

1
index.translog.sync_interval

  

5.批量插入

到这里配置信息基本上差不多了.批量插入时一定用bulk批量插入.

展开阅读全文
打赏
0
0 收藏
分享
加载中
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部