WEB开发网
开发学院数据库Oracle Oracle RAC 客户端连接负载均衡(Load Balance) 阅读

Oracle RAC 客户端连接负载均衡(Load Balance)

 2012-10-11 16:11:30 来源:WEB开发网   
核心提示:三、测试负载均衡(load balance)1、启用load balance的测试 oracle@SZDB:~> more load_balance.sh #!/bin/bashfor i in {1..100}doecho $isqlplus -S system/oracle@ORA10G <<EO

三、测试负载均衡(load balance)

1、启用load balance的测试
 
oracle@SZDB:~> more load_balance.sh 
#!/bin/bash
for i in {1..100}
do
echo $i
sqlplus -S system/oracle@ORA10G <<EOF
select instance_name from v\$instance;
EOF
sleep 1
done
exit 0  

# Author: Robinson Cheng
# Blog :  http://blog.csdn.net/robinson_0612  
oracle@SZDB:~> ./load_balance.sh >load_bal.log
oracle@SZDB:~> head -20 load_bal.log
1

INSTANCE_NAME
----------------
ora10g2

2

INSTANCE_NAME
----------------
ora10g1

3

INSTANCE_NAME
----------------
ora10g2

4

oracle@SZDB:~> grep ora10g1 load_bal.log |wc -l
47
oracle@SZDB:~> grep ora10g2 load_bal.log |wc -l
53

从上面的log日志中可以看出启用客户端的负载均衡基本上使得从客户端发起连接的能够保持均衡。
  
2、未启用load balance的测试  
从客户端的tnsnames.ora中移出(LOAD_BALANCE = yes)选项,然后继续使用上面的脚本来测试
oracle@SZDB:~> grep ora10g1 no_load_bal.log |wc -l
100
oracle@SZDB:~> grep ora10g2 no_load_bal.log |wc -l
0

从上面的日志中可以看出当移出LOAD_BALANCE = yes项后,所有的用户连接请求都被定为到ora10g1,这是因为连接请求从tnsnames.ora中选择
列在ADDRESS项中排在第一行的位置。
下面我们关闭实例ora10g1,再来测试连接情形

oracle@bo2dbp:~> srvctl stop instance -d ora10g -i ora10g1

oracle@SZDB:~> ./load_balance.sh >no_load_bal_new.log
oracle@SZDB:~> grep ora10g1 no_load_bal_new.log |wc -l
0
oracle@SZDB:~> grep ora10g2 no_load_bal_new.log |wc -l
100  

由于实例ora10g1已经关闭,因此所有的连接请求都被分配到ora10g2。

上一页  1 2 

Tags:Oracle RAC 客户端

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接