ElasticSearch es 参数调优

首先上版本号:ES 版本:6.5.4

一般来说ES 的默认参数已经能够满足大部分场景需求,不需要也不建议我们去调节。

但是根据不同的业务场景我们还是可以做一些系统调优,接下来针对常用的参数总结如下:

1、_routing 

     参数作用是将文档路由到不同的分片,默认是根据hash(document’s _id ) 进行路由的,默认情况,如果我们根据某些条件进行检索时,由于没有指定_routing,请求会分发到所有分片进行检索然后聚合。

这对于某些场景明显是比较耗时的,哪些场景我们等下描述,首先我们讲下问什么耗时?第一:查询请求会分发到所有分片里,分发的过程首先会浪费时间,另外我们知道木桶效应,只要一个节点的查询速度慢,会导致整个请求的查询时间变慢。

那什么场景适合自定义_routing 呢?像根据用户ID 查询订单这个场景,单个用户的订单量一般是比较少的,这种场景很适合我们自定义_routing, 这样我们查询某个用户订单的时候制定uid,就可以快速查询到,节点越多,这个优化的效果约明显。

2、number_of_replicas

      参数定义我们数据存储的分片数,主要是为了数据的高可靠性,一个副本坏掉可以从其他副本恢复,对于我们大部分日志系统来说数据丢失也可以接受的,对于日志系统来说我们是可以把副本数设置为1甚至是0

3、文件的字段类型  keyword 和text 

     从ES 5.2 版本以后ES 去掉了String类型,增加了keyword 和text 字段类型

     对于text字段类型的字段在创建时会默认进行分词,例如:我喜欢编程, 存储时会存储三个倒序       索引,{我,喜欢,编程} => 文档ID。

     如果我们需要精确查询的时候,比如根据订单ID去查询的时候,一般情况我们是需要精确查询       的,这时候我们在创建索引的时候就需要把字段设置为keyword类型的,不仅可以节省磁盘空         间,而且也会明显提升我们的查询效率。

4、JVM 

     一般建议 Xms 和 Xmx设置一样大,对于低于64G内存的机器,设置为不大于机器内存的1/2. 留足够大空间给pageCache, 对于大于64G内存的机器,不建议Xmx > 32G,可以部署多个进程去充分利用内存。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值