记一次由于hikari连接池引起的事故

  • 有一个朋友找上我,让我帮忙看看他们的系统,一到账单推送时,用户就无法打开账单,重新启动程序可恢复服务,但一到推送,就是无法查询账单。
    我第一时间考虑是否高并发导致资源耗尽,但检查数据库、jvm内存、带宽情况时却发现远远未到会卡顿的情况,询问得知,就查询账单接口无法访问,其他服务都正常。在检查jvm线程情况时,发现大量TIMED_WAITING的线程,如下图:
    线程状态
    第一时间开考虑数据库线程池超载,查看mysql的连接数,远未达设置数。考虑是hikari连接池配置存在问题,如下:
hikari:
        is-read-only: false
        connection-timeout: 60000
        idle-timeout: 60000
        validation-timeout: 3000
        max-lifetime: 60000
        max-pool-size: 60
        min-idle: 10

修改为:

hikari:
        is-read-only: false
        connection-timeout: 60000
        idle-timeout: 60000
        validation-timeout: 3000
        max-lifetime: 60000
        max-pool-size: 600
        min-idle: 10

服务在推送时,能正常使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值