数据库连接异常

先说一下项目背景,这个问题困扰了我很久。

背景:公司一个和京东合作的项目,初期公司比较有钱,花大钱投入,后面公司效益不好,投的钱少了,用户也就少了,大概项目上线后一年多,经常有用户投诉说页面无法访问,并且公司监控系统也监控到服务器响应时间超长,查了后台日志,unable to commit against JDBC connection或者which is more than the configured time (StuckThreadMaxTime) of “600” seconds. Stack trace。

判断:初期判断是京东有几个批量查询的接口导致服务器压力大,线程数不够用,导致后面再次请求的用户无法请求。后与京东商量,批量查询接口去掉,用别的方式实现,但是此问题依旧存在。后面又仔细查看代码,优化代码,优化SQL,但是此问题依旧存在。找了很多公司大牛,结果都不知道该如何解决。

结果:后来一次偶然的机会,与同事在网上发现了一个文章,跟我们的问题类似。经分析,原来是应用服务器和数据库的防火墙切断了连接导致,超过某段时间没有用户访问,应用服务器和数据库的链接会被防火墙切断,这个时候如果有用户请求进来,则无法请求,用户请求的次数越多,积压的量越大,可用的线程数也越来越少,从而造成了上面说的现象,后来与同事商量更改了weblogic JDBC连接池的配置,勾选高级选项里的“保留时测试连接”,并设置测试频率为120s。测试一段时间没有再发现此问题。
配置截图
参考文章:https://blog.csdn.net/li1325169021/article/details/106570560/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值