首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当数据大小增加时,Elasticsearch执行得很慢

当数据大小增加时,Elasticsearch执行得很慢
EN

Stack Overflow用户
提问于 2017-02-20 17:51:42
回答 1查看 788关注 0票数 0

我们有一个具有以下详细信息的集群: 1. OS: Windows 7 (64位) 2.节点数:2 (i7处理器,8Gb内存) 3. ES版本: 2.4.4

我们创建了一个包含以下细节的索引: 1.索引大小: 86 Gb 2.碎片数: 12 . 3.副本数目:0. 5.文档数量:1.4亿6.字段数: 15 .对于大多数字段,我们设置了" Index ":"not_analyzed“7.对于很少的字段,我们设置了" index ":"no”.我们不执行任何全文搜索、聚合或排序9.对于两个字段,我们使用的是距离1的模糊性编辑

12个碎片平均分布在2个节点上(每个6个碎片)。我们正在这个集群上运行多搜索查询,其中每个多搜索请求包含6个单独的查询。

我们的查询花费了太多的时间来执行。从“接受”字段中我们可以看到,每个单独的查询都在3-8秒的范围内花费时间。它们很少在毫秒内执行。

平均结果集中返回的记录计数约为800条(最大为10k记录,最小为10条记录)。

当我们在相对较小的数据集(1,000万条记录,大小为7 Gb )上运行相同的测试时,每个单独的查询都花费了50-200毫秒的时间。有人能提出什么可能导致我们的查询运行缓慢时,索引大小增加吗?

响应xeraa:后的更新

  1. 也许您也在使用旋转磁盘?。

  1. 800份文件(或更多)听起来很多。你总是需要这么多吗?
    • 不是所有的查询都会返回大量的文档,但是很少有单独的查询,我们确实需要所有这些文档。

  1. 您是否将堆大小设置为4GB (可用内存的一半)?

  1. 为什么是12个碎片?如果您只有两个节点,这听起来有点过了(但可能不会产生很大的影响)。
    • 这样,随着数据的增长,我们可以在以后添加更多的节点(不需要重新索引)。

  1. 也许你能显示一个查询?对于您的6个单独查询来说,这听起来很昂贵。
代码语言:javascript
复制
- _Following are the 2 sample queries that are used. A total of 6 similar queries are wrapped in multi-search._ 

POST /_msearch {“索引”:“学校”}{“查询”:{ "bool“:{”必须“:[{ "bool”:{“应”:{“范围”:{“标记”:{“出发地”:"100000000“"to“:"200000000","include_lower”:true,"include_upper“:true }} },{“嵌套”:{“查询”:{“匹配”:{“查询”:"25 ",“字段”:"subject.chapter“},“路径”:“主题”}{“索引”:“学校”}{“查询”}{ "bool“:{”必须“:{”嵌套“:{”查询“:{“匹配”:{“查询”:"A100123",“字段”:"student.id“,”模糊“:"1”},“路径”:“学生”}}}

EN

回答 1

Stack Overflow用户

发布于 2017-02-20 22:36:14

1.4亿个文档意味着86 8GB的数据,那么我猜1000万个文档转换为不到8GB的数据。因此,较小的数据集可以从内存中(至少大部分是通过两个8GB节点提供),而更大的数据集则需要从磁盘中处理。也许你也在使用旋转盘?在任何情况下,物理定律会使你的整个数据集比小数据集慢。

你可以研究各种事情:

  • 800份文件(或更多)听起来很多。你总是需要那么多吗?
  • 您是否将堆大小设置为4GB (可用内存的一半)?
  • 为什么是12个碎片?如果您只有两个节点,这听起来有点过了(但可能不会产生很大的影响)。
  • 也许你能显示一个查询?对于您的6个单独查询来说,这听起来很昂贵。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42351249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档