关于Weblogic连接池的TestConnectionOnReserve
由于最近某客户的系统性能比较差,所以今天又上去跟踪了一下。看了一下Default Data Cache,发现已经从10G调整到了20G,所以可以确定应该是客户的管理员已经将双机从低配置的机器切换到了高配置的机器上了。经过一段时间的观察,发现数据库(SYBASE)的负载已经回落,各项指标都已经正常,正在准备想退出,但心里总感觉有点不对劲."为什么连接数才500多?一般情况下应该是1K多的连接才对呀!“,难道,是部分应用节点没起吗?于是QQ联系运维组的同事上去应用服务器检查是否有节点没有启动或者已经挂掉了。。。
刚刚发完QQ消息,忽然又脑袋里闪过了一个念头:数据库服务器切换过,那也就是数据库有过中断,该系统的WEBLOGIC连接池配置了TestConnectionOnReserve,在数据库服务恢复正常后是可以自动重连的,而且,重连的时候Weblogic不会一次就把连接池的初始化参数重新申请完毕,而是按需申请,估计就是这个问题引起的呢?
于是,又给那同事发了消息:是不是节点都是正常的?
答:是哦,正常启动状态。
"我大概知道是什么原因引起的这个现象了,你检查分析一下,告诉我你是这么分析这个问题的?“---由于该小伙一直都是偶带着的,所以总是希望能让他自己去多分析一下,多积累一些经验。
TestConnectionOnReserve,这个开关打开的话,每一次操作都会去测试连接是否正常,在一定程度上会影响到系统的性能,但是对于一个24小时都需要为用户提供服务的系统,这个开关又可以保障了在数据库中断的情况下,在恢复正常后可以自动重连,避免了需要运维人员手工重启的应用节点的情况。因此,可以结合实际情况去判断是否需要打开这个开关。
--------------------------------------------
快乐地度过每一天,踏实、认真地做好每一件事。