Elasticsearch进阶之路:动态模板和性能优化
项目背景:项目中使用Elasticsearch做业务数据库,主要用于持久化要多条件Term索引,不涉及分词功能;由于数据量大,一年大概有5TB数据量,读取并发量大。数据需要1年热备,永久冷备。基于以上条件做优化。由于需要多索引支持部分字段聚合,所以没选择Hbase.
(版本:Elasticsearch 6.5.4)
-
分表存储
根据业务情况按月分表存储,使用别名实现跨月查询。 -
Setting the heap size
ES默认堆大小是 1G 、参考官网建议,设置为服务器内存50%,但不超过32G阈值。
https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html -
设置压缩方式
ES默认使用LZ4压缩存储的数据,best_compression 相比LZ4有更高的压缩比,代价是存储的性能相对较慢。
“index.codec”: “best_compression” -
Setting初始化设置
Settings settings = Settings.builder()
.put("index.number_of_shards", 6)
.put("index.number_of_replicas", 1)
.put("index.refresh_interval", "10s") //

本文介绍了在Elasticsearch 6.5.4版本中,针对5TB大数据量和高并发读取需求的业务场景进行的性能优化。通过按月分表存储、调整堆大小、设置最佳压缩方式、精细化动态模板以及使用索引模板等策略,提升系统的效率和稳定性。
最低0.47元/天 解锁文章
394

被折叠的 条评论
为什么被折叠?



