首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >1000万次事件弹性搜索的索引速度

1000万次事件弹性搜索的索引速度
EN

Stack Overflow用户
提问于 2014-03-31 13:31:53
回答 2查看 7.7K关注 0票数 1

我试图弄清楚为什么elasticsearch在索引方面如此缓慢。我不确定这是否是elasticsearch本身的限制,但我会分享到目前为止我所拥有的。

我有一个elasticsearch节点和一个logstash实例运行在一个框上。我的文档大约有15个字段,并且我有一个具有正确类型的弹性搜索映射设置(尽管我尝试过没有映射,得到了几乎相同的结果)。

我是索引大约8-10百万事件在一次,并采取了以下方法。

使用以下格式的批量api (我将csv转换为JSON并将其放入一个文件中,我将其卷入其中)

代码语言:javascript
复制
{"create" : {}}
{"field1" : "value1", "field2" : "value2 .... }
{"create" : {}}
{"field1" : "value1", "field2" : "value2 .... }
{"create" : {}}
{"field1" : "value1", "field2" : "value2 .... }

我还尝试过使用带有原始csv的tcp输入或使用文件侦听器和猫使用logstash正在侦听的文件结束时的日志存储。

所有这三种方法似乎每秒钟摄入大约10,000个事件,这是非常缓慢的。

我做错了什么吗?我是否应该在我的大量摄入中显式分配一个id,而不是让它自动生成一个id?

当通过大容量API摄取时,我将事件拆分为50,000和100,000个事件文件,并分别摄取每个文件。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-31 13:44:27

您会发现我对这个这里做了一些研究,您可以下载索引脚本文件,这有一些有用的脚本,可以最大限度地提高索引性能。它确实在硬件和弹性索引搜索的优化上有所不同。即移除复制节点等。

希望这能对你有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2014-04-01 03:57:42

我推荐这个博客。在批量索引期间,调整下列参数会有所帮助,但一旦完成,就可以减少refresh_interval。

代码语言:javascript
复制
 index.store.type: mmapfs
 indices.memory.index_buffer_size: 30%
 index.translog.flush_threshold_ops: 50000
 refresh_interval: 30s
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22762908

复制
相关文章

相似问题

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