故障现象:
11月15日早上,相关运维人员登录weblogic管理控制台,发现大量服务处于过载(overload)现象。
同时查看到数据源的状态也为overload:
初步分析可能是由于当前业务量比较大,连接数量不够导致的,所以尝试着增加连接池的数量。。。
故障分析
1、尝试增加连接池数量
当前为50个被用满了,
增加到85个,还是很快就被耗尽了
然后又增加到200个,还是一个的被耗尽,并且没有连接泄露情况发生。
至此,发现无论配置多少的连接数量,都是不可以用的,那问题到底出在哪里呢。
2、查看日志
通过查看日志报错如下:
通过日志发现,由于不能获取支持事务的连接,所以请求的连接都处于不可用的状态。及时查看weblogic的数据源配置驱动,
如下图:
通过上图发现,果然是由于本系统运维人员未配置支持事务的数据库驱动,改用了支持事务的驱动,各个服务器都处于Runing状态了。
结论
如果应用程序是不带事务的,则两种驱动(XA、No-XA)可随意选择。
如果应用程序是带事务的,则必须要使用支持事务的(XA)驱动。