Oracle集群的Jdbc连接速度问题

最近系统的WEB访问速度明显下降, 拨弄许久, 暂时处理搞一段落, 但依然不就其因.  遂具其明, 文于下. 

两台Oracle数据库服务器建立集群服务, 数据保存磁盘阵列服务器上. 初始的时候采用如下的数据库连接字符串进行数据库的访问, 并进行了Oracle数据库的模拟故障测试, 即任意将其中一台Oracle数据库服务器关闭, 集群服务正常运行, 并且数据连接速度理想.

jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS_LIST=(LOAD_BALANCE = ON)(FAILOVER = ON)(ADDRESS = (PROTOCOL = TCP)(HOST = ServerA)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST = ServerB)(PORT = 1521)))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = DBServer)(FAILOVER_MODE =(TYPE = SELECT)(METHOD = BASIC)(RETRIES = 30)(DELAY = 5)))) 

然而系统运行一段时间后, ServerA服务器因故障无法启动, 进去不了系统, 于是关机. 之后系统的WEB操作速度明显下降. 系统采用Jboss3作为WEB服务器, 安装在ServerB上.

写简单的Java脚本, 采用以上的连接字符串, 进行数据库的查询操作, 查询操作速度正常. 通过PL/SQL访问, 速度也正常. 多种尝试也未能改善速度.

最后将以上的字符串ServerA更改为ServerB, 后速度恢复正常.

暂时没时间深入研究此变化的原因, 初步的结论认为:
1,  当前的连接方式为随机命中方式, 每个连接请求将随机的访问ServerA和ServerB服务器, 首次命中率降低.

 影响因素有:
a.   ServerA服务器关机和开机但不启动Oracle服务器的差异;
b.   数据库连接字符串中ServerA和ServerB的前后次序差异;
c.   数据库连接字符串中的参数设置差异.
d.  其他差异;

处理措施:
I.   逐一尝试调整数据连接字符串的参数, 寻找最佳连接方式;
II.  建立故障处理机制, 当数据库出现故障(服务器性能出现明显差异或其中一台停止服务)的时候, 及时调整数据库连接字符串, 平衡服务请求, 充分发挥服务器性能.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值