码迷,mamicode.com
首页 > 编程语言 > 详细

记一次生产dubbo线程池耗尽的问题

时间:2020-04-03 12:02:43      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:时间   线程   bsp   超时   导致   服务提供者   超过   stat   命令行   

问题:

  dubbo线程池耗尽,活跃线程数超过线程池最大线程数(dubbo默认线程池最大线程数为200)

技术图片

 

 登录服务提供者所在服务器

通过命令行连接dubbo:

//telnet 服务提供者ip dubbo端口
telnet 20.1.16.26 20881

查看dubbo活跃线程:

status -l

技术图片

 

 可以通过增加线程池最大线程数来解决:

技术图片

<dubbo:provider timeout="50000" threadpool="fixed" threads="500" accepts="1000" />

timeout="5000":设置远程调用服务的超时时间为5000毫秒
threadpool="fixed":线程模型为固定大小的线程池,启动时建立线程,不关闭,一直持有
threads="500":线程数为500
accepts="1000":限制服务器端的接受的连接的最大值为1000

技术图片

 

导致原因:

  服务提供者数据源连接池最大连接数300,提供者数据库连接池连接数在高峰时已经超过最大连接数,导致服务调用响应速度非常慢,请求全部超时,dubbo的线程长时间保持连接,一直未释放,导致活跃线程超过最大线程数

 

记一次生产dubbo线程池耗尽的问题

标签:时间   线程   bsp   超时   导致   服务提供者   超过   stat   命令行   

原文地址:https://www.cnblogs.com/pluto-yang/p/12625232.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!