oracle连接由于防火墙设置导致超时的问题
问题描述:系统割接后,中间件和数据库进行了防火墙隔离,导致WAS应用访问数据库慢的问题。由于数据库和应用都进行了割接,系统架构由原先的单一网络变成了跨系统部署,数据库和应用之间的访问通过防火墙;而防火墙这边对空闲的连接配置了超时时间(目前是30分钟),一旦超过时间,会自动将连接断掉;而断掉后,was应用这一侧的数据库连接池这边还是认为该连接有效,它只在应用获取该连接时才会进行一个有效性测试,...
问题描述:
系统割接后,中间件和数据库进行了防火墙隔离,导致WAS应用访问数据库慢的问题。由于数据库和应用都进行了割接,系统架构由原先的单一网络变成了跨系统部署,数据库和应用之间的访问通过防火墙;而防火墙这边对空闲的连接配置了超时时间(目前是30分钟),一旦超过时间,会自动将连接断掉;而断掉后,was应用这一侧的数据库连接池这边还是认为该连接有效,它只在应用获取该连接时才会进行一个有效性测试,会每间隔一个时间尝试一次,尝试n次后才确定该连接失效,发起重连,最终造成业务耗时长。
由于was的连接池连接数很多,势必造成有部分连接空闲时间超过了防火墙的设置,而was这边我们没有配置对空闲连接的维护参数,空闲连接会一直认为有效,所以该现象只会出现在was的空闲连接上;当应用获取已被防火墙断开的空闲连接时,就会造成应用的响应慢。
解决办法:
针对该现象,我们对was的连接池这一块的参数进行了优化,增加了对空闲连接的未使用超时和时效超时(小于防火墙的配置),优化了现有连接有效性测试的相关次数和间隔时间配置,使得应用侧从连接池中获取到的连接均有效,周二晚上重启后至今,日志中未再产生线程挂起的报错现象,初步断定问题得以解决。
更详细的描述和此类问题的说明文章可以参见如下
http://www.ibm.com/developerworks/cn/aix/library/0808_zhengyong_tcp/index.html
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)