elasticsearch 索引( index)数据速度

2017-03-03 17:22:59 +08:00
 qfdk

最近用 Apache nifi 进行数据链的处理。

用的 posgresSQL 的数据库,里面大概有 26 000 000 左右的数据,拉回本地大概需要 10 分钟,然后要用 es 进行索引,自己写的 bulk 的进程,大概每次入 35000 条数据 大小在 14M 左右。目测大概 20000 条每秒的速度。

配置如下:

硬盘 500G HDD 内存 16G CPU i7-3770 OS Ubuntu

同时跑 Apache nifi 和 elasticearch 2.4.1

大家的插入(索引 index )速度是多少,来说说参考一下 :) 谢过

2677 次点击
所在节点    程序员
11 条回复
xss
2017-03-03 17:45:43 +08:00
2Tb 硬盘 2cpu@2.4GHz 一共 16 个核, 64Gb 内存, 入 2kw 数据, 需要 8-12 个小时.

与你的 es 集群有多少个 node, 定义的分片和副本数, 每个 index 的数据规模有极大关系.

2.6kw 数据, 16Gb 内存无压力, 磁盘估计也没压力, 你的最大成本是时间成本.

你入数据的时候盯着点你的磁盘 IO/磁盘空间和内存使用情况.

bulk 写的不好极容易集群状态 RED, 会导致大量 bulk 任务失败.

另外, 写的时候最好不要有读操作, 也很容易导致 red
qfdk
2017-03-03 18:04:26 +08:00
@xss 一直盯着 io 大概在 100M/s 我的时间大概半小时左右 就有一个 node 没有读取操作。
ic3z
2017-03-03 20:12:46 +08:00
es ,普通台式机, 5 万条每秒,每条数据不到 200 字节。导了将近 6 个小时,还没到 2 亿条数据,还有 18 亿数据要导。
qfdk
2017-03-03 20:17:19 +08:00
@ic3z i7 ?
ic3z
2017-03-03 20:21:14 +08:00
@qfdk i5 好像和 cpu 关系不是很大。。 cpu 占用率不高。
qfdk
2017-03-03 20:22:01 +08:00
@ic3z SSD ?
ic3z
2017-03-03 20:26:57 +08:00
@qfdk 修正下,只有 1 万条 /s 没有 ssd
qfdk
2017-03-03 20:32:21 +08:00
@ic3z 拿速度咱们差不多 10 000 我是 10 000 - 30 000
看来是硬盘的问题 你看 io 的情况没有
mingweili0x
2017-03-04 06:30:38 +08:00
一般来说 bulk 的数量不要太大,几百条 documents 一起 bulk 就够了吧,否则 latency 太高
qfdk
2017-03-04 17:53:07 +08:00
@mingweili0x 你指的是要把分片做小? 但是这样 查库的时间就长了 这样查库的时间多了 不只是 1 倍。 等周一我去实验一下。
qfdk
2017-03-08 04:05:11 +08:00
@mingweili0x @ic3z @xss
最新消息,现在可以做到 200k 每秒了 :) 弄了 4 个 node mapping 提前准备好了。速度基本就这样了,然后 system load average 基本已经满了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/344689

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX