有个人长的像洋葱,走着走着就哭了…….

TransportClient 批量写出现OOM

Elasticsearch | 作者 code4j | 发布于2019年01月04日 | 阅读数:1688

我有个tomcat站点,对外提供http接口用批量写日志,但是最近发现经常出现OOM,GC内存下不去,然后dump下来堆信息发现,好多日志内容都在TransportService这个类里面。信息如下:

4D11D604-FFC4-4184-B8E2-818C212413BB.png

 
可以看到TransportService这个类里面有大量的IndexRequest,因为我的业务场景就是批量写日志。

TransportClient我用的是单例,为减少client的创建。
 
集群6个节点,每个节点16核,内存32G,堆16G
 
目前日志数据按小时切分,一个索引平均127G,6个主分片一个节点一个。
 
 
六个机器load分别:8,12 , 11 , 13 , 7 , 6
 
我设置的批量提交的大小平均是2M左右,文档数3000-4000不等(由于单个日志的大小差异可能会比较大,因此采用字节数计算而不是文档数)。
 
有没有和我一样遇到这种现象的同学呢求指教。
已邀请:

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

赞同来自:

CPU核数和对应的线程池和队列的设定是多少呢?

要回复问题请先登录注册