愚者求师之过,智者从师之长。

es一个索引10亿数据以上,应该如何调优?

Elasticsearch | 作者 陈水鱼 | 发布于2018年08月14日 | 阅读数:8964

5台机器10c64g,索引有8个shard,1个副本,现在一个简单的term查询,只有一个条件,查询动不动就是分钟级的,有什么调优方法吗
已邀请:

zqc0512 - andy zhou

赞同来自:

你的环境描述清楚啊。
我100台机器   就一个索引 肯定很优啊。
 

zqc0512 - andy zhou

赞同来自:

5台机器,8个shard怎么算来的呢?单个索引多大数据量
单个shard多大。每个ES 节点分配多少内存?
你是kibana 查询还是什么查询 用 scroll

rochy - rochy_he

赞同来自:

一个索引10亿数据,请问这个索引有多大?
 
一个简单的 termQuery 请问你的返回的 size 是多大?
 
请描述的更加具体一些。

laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net

赞同来自:

考虑索引层面做优化,当前一个索引10亿数据(你没有写每条数据的大小),但是,直观感觉,这个索引的占据磁盘空间肯定也非常大(注意:一个分片默认最大文档数量是20亿+左右)。 索引大了以后,可能出现的问题包括:
1)如果某磁盘紧张,极端情况会可能出现分片丢失的情况。(我遇到过,之前Meetup上海站ebay也提到类似问题)
2)大的分片可能会对集群从故障中恢复的能力产生负面影响。 
对于多大的分片没有固定的限制,但是分片大小为50GB通常被界定为适用于各种用例的限制。(有的地方说30GB)
推荐阅读:
https://blog.csdn.net/laoyang3 ... 80602
https://blog.csdn.net/alan_liu ... 85345
 
建议基于时间+数据量+大小重新规划索引 是当务之急!

要回复问题请先登录注册