服务器迁移导致的奇怪问题

问题背景

昨天一个朋友忽然间问有没有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,最后问题解决,还真是连接池的问题。
在这里插入图片描述