最近用 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 )速度是多少,来说说参考一下 :) 谢过
1
xss 2017-03-03 17:45:43 +08:00 1
2Tb 硬盘 [email protected] 一共 16 个核, 64Gb 内存, 入 2kw 数据, 需要 8-12 个小时.
与你的 es 集群有多少个 node, 定义的分片和副本数, 每个 index 的数据规模有极大关系. 2.6kw 数据, 16Gb 内存无压力, 磁盘估计也没压力, 你的最大成本是时间成本. 你入数据的时候盯着点你的磁盘 IO/磁盘空间和内存使用情况. bulk 写的不好极容易集群状态 RED, 会导致大量 bulk 任务失败. 另外, 写的时候最好不要有读操作, 也很容易导致 red |
3
ic3z 2017-03-03 20:12:46 +08:00 via Android 1
es ,普通台式机, 5 万条每秒,每条数据不到 200 字节。导了将近 6 个小时,还没到 2 亿条数据,还有 18 亿数据要导。
|
9
mingweili0x 2017-03-04 06:30:38 +08:00 1
一般来说 bulk 的数量不要太大,几百条 documents 一起 bulk 就够了吧,否则 latency 太高
|
10
qfdk OP @mingweili0x 你指的是要把分片做小? 但是这样 查库的时间就长了 这样查库的时间多了 不只是 1 倍。 等周一我去实验一下。
|
11
qfdk OP @mingweili0x @ic3z @xss
最新消息,现在可以做到 200k 每秒了 :) 弄了 4 个 node mapping 提前准备好了。速度基本就这样了,然后 system load average 基本已经满了。 |