居然是你

elasticsearch写入性能问题

Elasticsearch | 作者 yang009ww | 发布于2021年01月25日 | 阅读数:1787

ES版本:6.3.0
业务类型:日志业务(写多读少), 每天大概1T数据量
节点数量:20个数据节点(热节点),8个数据节点(冷节点),3个master节点,每个节点10个盘SSD
机器数量:10台物理机64核512内存, 每台机器2个节点,每个节点分配31G内存
问题现象: 出现写入请求被拒绝,有些写入请求要几秒时间, 写入是一批2000条,大概10MB大小

通过监控,查看cpu, 内存,磁盘大小, io利用率都很低,cpu稳定在40%内,内存20%, 磁盘使用率不超过10%,磁盘写入速度100MB/s
调整refresh和flush的时间间隔,translog策略async,size 2G, max_merged_segment 1G, inedx buffer_size 30%,这些都试了,好像没啥效果
现在一天的段数量大概有10w左右,每天forcemerge前一天的,文件描述符5000w+,
还有一个现象是我们设置副本的时候,恢复副本也很慢,磁盘写入速度始终上不去

现在没有什么思路了,跪求大佬帮忙分析,谢谢了!
已邀请:

JoyPanda

赞同来自:

改成每台4个节点 16核 31G试试

laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net

赞同来自:

第一:看日志报错;
第二:看热点线程:hot_thread
第三:考虑根据cpu核数修改线程池和队列大小,考虑调整批量值。
 
 

xiaoyuer0225 - 小鱼儿之父

赞同来自:

1.512g内存机器建议单节点8个实例
2.增大线程池,一天10w不至于这么慢

medcl - 今晚打老虎。

赞同来自:

1.监控都做了没有?
2.现在写入吞吐是多少每秒? 目标吞吐是多少?

要回复问题请先登录注册