泽众软件
首页 关于我们 下载与支持 咨询电话:400-035-7887/021-6072 5088
当前位置:泽众软件测试网-产品新闻-正文

Tomcat异常的排查过程

发布时间:2020-11-13
给客户开发了一个应用系统,基于tomcat,用java开发的,采用前后端分离技术。系统使用一段时间之后,用户报错说,导入excel数据的时候,报错,导致后续操作都无法进行,需要重新启动系统才能够恢复正常。
经过开发人员在测试环境分析,重新导入这个excel文件,系统是正常的,没有出现异常。
我们猜想可能的问题:1)java导入程序出错,导致系统异常;2)数据库sql预计执行太慢,导致死锁。
于是上慢sql来查看数据库,没有发现执行缓慢的sql语句。
重新测试导入程序,没有发现错误。
 
是否是一个累积错误?
于是,模拟大量的操作,一段时间后,再导入excel文件,报错,提示是mysql数据库的连接数满了。
跟着这个问题去排查程序,没有发现程序异常错误。
猜想是,某个非常特定的分支,忘记了归还给数据库连接池那个连接。当多次偶然进入这个使用场景,每次都会占用一个连接,等到所有的连接都被占用,就会报这个错误。
 
如何解决?
第一, 排查程序,看是否存在没有“归还”给连接池,连接的问题。
第二, 设置数据库连接池的参数,当一个请求响应时间过长,就强制回收这个连接。
 
通过上述两个方法,解决了这个问题。
 
推荐阅读:
 
如何正确进行白盒测试?
 
静态代码分析和代码审计的方法技巧
 
想要了解代码静态分析技术,这些知识不可错过
 
Java静态代码扫描怎么做?Java静态代码扫描工具的使用方法
 
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-60725088-8054),我们将立即处理,马上删除。
沪ICP备07036474号 2003-2021 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd.
微信
咨询

添加客服微信 欢迎咨询测试工具和测试服务

微信客服
问题
反馈
返回
顶部

方案咨询

×
提交信息

我们会在24小时内,给您电话回复!或者直接电话咨询,400-035-7887,给您专业的解答。

您的信息已成功提交!

我们的客服人员稍后会与您联系