ES 调优手段总结

ES调优手段

1.设置dynamic为strice(严格模式,put任何新字段都会提示异常),避免ES集群因新增字段导致性能下降。

因此常见的处理方案都是通过建立别名prod_product_xx索引,上线前先将新索引数据初始化新数据,然后在修改索引别名

2._source禁用后可以进行搜索,但无法返回字段内容。

3.index决定该字段是否加入倒排索引(默认为true),开启后是无法对字段内容进行分词的,也就无法进行分词搜索。

4.enabled类似index与doc_value的总开关(默认为true),会存储在_source。但index和doc_value不会被存储。所以关闭后则不可以进行搜索和排序,但可以拿到原值。

5.doc_value是一个列式存储,所有很适合排序。

6.fielddata与doc_value类似,但会加载到内存进行排序。_id是默认开启的,这里要慎用。

7.copy to拷贝 

 

写入流程优化

bulk方式写入相比单条写入效率更高,网络IO也更好。

_ID在分片级别是唯一的,并不是在集群唯一

 

文档落盘过程:

文档写入时,会先写Index buffer然后记录translog到OS Cache
文档从每秒刷新到OS Cache中生龙segment,并定时将translog落盘
OS Cache中的segment会定期被刑新到磁盘上,同时删除translog

 

架构设计:

读写分离集群

 

自定义_id,避免读取原文档的会多一次IO行为

posted @ 2024-03-17 21:26  辉辉、  阅读(39)  评论(0编辑  收藏  举报