可能原因:(1) dubbo中有httpClient调用。
由于http工具默认仅支持 5 个并发,且有线程池队列,当请求量超过 5 个的时候,多余的请求会在队列中堆积。前一批http请求结束之后其他的请求才会继续执行,越到后面线程等待时间会越长。所以对应实际业务场景中dubbo线程等待的时间也会越长,当这个队列到一定数量之后,就会引起dubbo默认200个线程池被占满的情况,从而引起整个应用服务的报错。
(2) 业务代码中,有异步调用,但异步调用又使用了默认的线程池,很容易把线程池用光,间接导致dubbo线程占满。
(3) dubbo接口中,处理大对象,导致频繁FGC, 请求不断,但STW时间过长,也会导致dubbo线程池占满。
参考:
https://blog.csdn.net/wsmalltiger/article/details/124236055
标签:Dubbo,池占满,请求,dubbo,队列,默认,线程 From: https://www.cnblogs.com/maohuidong/p/16657346.html