我们在3个EC2 c4.4xsize(16核,32 on内存)节点上部署了ES2.0,为ES分配了16G,并在每个节点上附加了500 on的io1/4000 IOPS。
Problem:我们期望从这个硬件配置中获得很好的性能,但是的索引速度非常慢,可以观察到。
我们的文档大小约为10-50k,我们正在使用Java传输客户端进行插入。在最初的50,000,大约1000/秒的速度是正常的,并戏剧性地减慢到100-200/秒。
与此同时,我们关注的是低资源消耗:
Requirements:所以我不明白为什么所有的资源都是免费的,,我能做什么来提高效率呢?,谢谢。
下面是我们使用的配置文件:
cluster.name: {{ env }}-{{ app }}
path.data: /data/es
path.logs: /data/es-logs
network.host: 0.0.0.0
discovery.zen.ping.unicast.hosts: ["xxxx"]
bootstrap.mlockall: true
threadpool.search.queue_size: 300
threadpool.index.type: fixed
threadpool.index.size: 16
threadpool.index.queue_size: 250000
index.refresh_interval: 1s
index.translog.flush_threshold_ops: 50000
indices.memory.index_buffer_size: 30%
indices.memory.min_shard_index_buffer_size: 12mb
indices.memory.min_index_buffer_size: 96mb
script.inline: on
script.indexed: on
http.cors.enabled: true
http.cors.allow-origin: /https?:\/\/localhost(:[0-9]+)?/以下是运行作业时的htop和iostat:


发布于 2016-01-16 05:57:03
将您的ES升级到最新版本,因为在最近的版本中,它们使其更易于生产,而且现在最稳定的版本是最新的2.3版本。
您可以尝试使用以下方法来加快索引的速度:
检查这个答案,以获得在三台服务器上安装ELK堆栈的最佳方式。在三台服务器上设置ELK堆栈的最佳方法
https://stackoverflow.com/questions/33952089
复制相似问题