无论才能、知识多么卓著,如果缺乏热情,则无异纸上画饼充饥,无补于事。

ES堆内存分配越大,入库性能反而变小,有没有大佬知道为啥?

匿名 | 发布于2021年02月08日 | 阅读数:1502

物理内存:32G
硬盘:200G
CPU:8核
 
ES版本:6.8.13
 
单机版测试。
 
数据量:1200万条日志,共6.8G
 
使用esrally进行压测,bulk size 5000docs,5个client
 
分别给ES分配2G、4G、6G、8G、10G、12G、14G、16G堆内存,结果发现分配内存越大,入库吞吐量反而变小了
 
分配2G时性能最好
已邀请:

zmc - ES PAAS、JuiceFS

赞同来自: shiwei

单从heap的角度分析:heap并不是越大越好,越大GC时间越长,反而会影响到那段时间的吞吐量
可以参考下 https://www.elastic.co/cn/blog/a-heap-of-trouble
 
如果目的是增加ES吞吐量,有其他方式的,比如调整refresh、translog、副本、niofs等等,和heap相关行没有那么大,主要是依赖ES的性能与系统的优化逻辑
 

rane - 上升期资深工程师

赞同来自:

分配2G的时候写入性能最好?

a1158139810

赞同来自:

test

yongde - 90后IT男

赞同来自:

可能的原因: 堆内存大,GC时间增加,查看下ES日志中GC的情况

要回复问题请先登录注册