美文网首页
es rest client 没池化导致的线程数激增

es rest client 没池化导致的线程数激增

作者: lain_one | 来源:发表于2020-12-18 14:50 被阅读0次

最近一周发现服务器上的服务存在JAVA线程持续创建但是不会自动复用、kill掉已有线程,超过容器允许创建的线程数后(比如1万、2万线程),整个服务失去响应了。
想了下自己代码里,有用Executor线程池,RestTemplate也用了连接池,想不出还有原因。于是去我司的监控中间件平台找思路。看了下java thread的暴增,是从一周前某个时间点开始的,于是又看了下那个时间点之前,我进行了发布操作,发布的是同事写的代码,这次变更的代码只是将poros client改成了直连es的配置。又看了下具体连接代码,如果不是直连es,使用的rpc客户端。如果是直连es,用的是es rest client。
这里产生的es rest client没用池化,每次使用的时候都会创建新的长连接。于是线程数就一直暴涨了吧。

相关文章

网友评论

      本文标题:es rest client 没池化导致的线程数激增

      本文链接:https://www.haomeiwen.com/subject/yroxnktx.html