记一次weblogic由于数据源驱动配置错误,导致的服务器过载案例分享

故障现象:

11月15日早上,相关运维人员登录weblogic管理控制台,发现大量服务处于过载(overload)现象。

记一次weblogic由于数据源驱动配置错误,导致的服务器过载案例分享

同时查看到数据源的状态也为overload:

记一次weblogic由于数据源驱动配置错误,导致的服务器过载案例分享

初步分析可能是由于当前业务量比较大,连接数量不够导致的,所以尝试着增加连接池的数量。。。

故障分析

1、尝试增加连接池数量

当前为50个被用满了,

记一次weblogic由于数据源驱动配置错误,导致的服务器过载案例分享

增加到85个,还是很快就被耗尽了

记一次weblogic由于数据源驱动配置错误,导致的服务器过载案例分享

然后又增加到200个,还是一个的被耗尽,并且没有连接泄露情况发生。

记一次weblogic由于数据源驱动配置错误,导致的服务器过载案例分享

至此,发现无论配置多少的连接数量,都是不可以用的,那问题到底出在哪里呢。

2、查看日志

通过查看日志报错如下:

记一次weblogic由于数据源驱动配置错误,导致的服务器过载案例分享

通过日志发现,由于不能获取支持事务的连接,所以请求的连接都处于不可用的状态。及时查看weblogic的数据源配置驱动,

如下图:

记一次weblogic由于数据源驱动配置错误,导致的服务器过载案例分享

通过上图发现,果然是由于本系统运维人员未配置支持事务的数据库驱动,改用了支持事务的驱动,各个服务器都处于Runing状态了。

结论

如果应用程序是不带事务的,则两种驱动(XA、No-XA)可随意选择。

如果应用程序是带事务的,则必须要使用支持事务的(XA)驱动。