oracle连接由于防火墙设置导致超时的问题

问题描述:

    系统割接后,中间件和数据库进行了防火墙隔离,导致WAS应用访问数据库慢的问题。由于数据库和应用都进行了割接,系统架构由原先的单一网络变成了跨系统部署,数据库和应用之间的访问通过防火墙;而防火墙这边对空闲的连接配置了超时时间(目前是30分钟),一旦超过时间,会自动将连接断掉;而断掉后,was应用这一侧的数据库连接池这边还是认为该连接有效,它只在应用获取该连接时才会进行一个有效性测试,会每间隔一个时间尝试一次,尝试n次后才确定该连接失效,发起重连,最终造成业务耗时长。

由于was的连接池连接数很多,势必造成有部分连接空闲时间超过了防火墙的设置,而was这边我们没有配置对空闲连接的维护参数,空闲连接会一直认为有效,所以该现象只会出现在was的空闲连接上;当应用获取已被防火墙断开的空闲连接时,就会造成应用的响应慢。

 

解决办法:

针对该现象,我们对was的连接池这一块的参数进行了优化,增加了对空闲连接的未使用超时和时效超时(小于防火墙的配置),优化了现有连接有效性测试的相关次数和间隔时间配置,使得应用侧从连接池中获取到的连接均有效,周二晚上重启后至今,日志中未再产生线程挂起的报错现象,初步断定问题得以解决。

更详细的描述和此类问题的说明文章可以参见如下

http://www.ibm.com/developerworks/cn/aix/library/0808_zhengyong_tcp/index.html

 


你可能感兴趣的:(oracle,数据库,优化,防火墙,数据库连接池,测试)