ES优化总结(特别是在bulk大量数据到ES的时候),持续续更新中。。。。

您所在的位置:网站首页 续集更新中 ES优化总结(特别是在bulk大量数据到ES的时候),持续续更新中。。。。

ES优化总结(特别是在bulk大量数据到ES的时候),持续续更新中。。。。

2024-07-17 09:41| 来源: 网络整理| 查看: 265

1、refresh时间间隔

优化点: 减少刷新频率,降低潜在的写磁盘性能损耗, 默认的刷新时间间隔是1s,对于写入量很大的场景,这样的配置会导致写入吞吐量很低,适当提高刷新间隔,可以提升写入量,代价就是让新写入的数据在60s之后可以被搜索,新数据可见的及时性有所下降。 在bulk大量数据到ES集群的时候可以关闭刷新频率,把其值设置为-1就是关闭了刷新频率,在导入完之后设置成合理的值即可,例如30s或者60s即可。

curl -XPUT '192.168.2.181:9200/index/_settings?pretty' -d ' { "index" : { "refresh_interval" : "-1" } }'

2、replica数目设置

在bulk大量数据到ES集群的可以把副本数设置为0,在数据导入完成之后再设置为1或者你集群的适合的数目。

curl -XPUT '192.168.2.181:9200/index/_settings?pretty' -d ' { "index" : { "number_of_replicas" : 0 } }'

3、merge相关参数

参考官网建议:https://www.elastic.co/guide/en/elasticsearch/reference/1.7/index-modules-merge.html"index.merge.policy.floor_segment": "100mb" "index.merge.scheduler.max_thread_count": "1" "index.merge.policy.max_merged_segment":"100m"

curl -XPUT '192.168.2.181:9200/index/_settings?pretty' -d ' { "index.merge.policy.floor_segment": "100mb", "index.merge.scheduler.max_thread_count": "1", "index.merge.policy.max_merged_segment":"100m" }'

4、Translog优化建议 参考官网:https://www.elastic.co/guide/en/elasticsearch/reference/1.7/index-modules-translog.html#index-modules-translog

{ "index.translog.flush_threshold_size": "100m" }

5、修改配置文件调整ES的JVM内存大小

这个值不能超过32g,一般机器好点设置成十几个g速度就非常快了。具体要看自己机器的内存(使用free命令查看,千万不要超过自己机器内存啦,balala..)

vim config/jvm.options

-Xms12g -Xmx12g

6、去掉mapping中_all字段

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

"_all":{"enabled":false}

例如:

{ "myindex":{ "mappings":{ "snapshot":{ "_all":{ "enabled":false }, "properties":{ "AltWeightedAvgBidPx":{ "type":"long" }, "AltWeightedAvgOfferPx":{ "type":"long" } } } } } }

7、



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3