服务器迁移导致的C3P0连接池死锁问题

问题背景

昨天一个朋友忽然间问有没有jvm调优的经验,因为本身是没有的,本着学习的精神,决定研究一下看看怎么做,也算是熟悉一下jvm问题解决流程。问题内容如:https://bbs.csdn.net/topics/392189936叙述一致,为什么会认为需要jvm调优相关呢,原来通过他自己的排查,看了一些gc情况,截图上s0已经达到了99.99. 在这里插入图片描述

分析过程

从他的角度继续分析,先去排查了一下gc情况,但是过了一会gc就一切正常了,可能那个时间节点下暂时出现的99.99。。。按照他的描述,程序在进入controller层后,再执行service层的时候,就出现了等待的情况,一直没有向下进行,所以怀疑是java线程的阻塞问题,提供一篇百度的解决方案给他,希望能够依照步骤去排查。
在这里插入图片描述https://www.cnblogs.com/lanrish/articles/12468900.html

由于这个情况很繁琐且复杂,他可能也没有去处理,后来没有了消息,因为他们项目是部署在tomcat中,所以向他索要了tomcat的日志信息,在日志中找到错误信息如下:
在这里插入图片描述
发现在数据库连接池c3p0处存在问题,且存在***APPARENT DEADLOCK!!! Complete Status:***这个关键错误信息,通过百度发现,这个是数据库死锁的问题,然后再经过百度,发现在做服务器迁移的过程中确实会存在这种情况,决定采用https://www.cnblogs.com/zhishan/archive/2012/11/09/2761980.html中将maxStatements和checkoutTimeout设置为0,最后问题解决,还真是连接池的问题。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值