Rac环境安装完成之后,打算简单测试一下Oracle RAC的负载均衡功能。
RAC负载均衡的简单测试(一):http://yangtingkun.itpub.net/post/468/279433
RAC负载均衡的简单测试(二):http://yangtingkun.itpub.net/post/468/279754
这篇文章讨论负载均衡与实例的忙闲是否有关。
通过上一篇文档的讨论,RAC的负载均衡通过LISTENER建立的连接数有关。那个是否负载均衡只与这个因素有关,RAC的负载均衡和实例的忙闲状态是否有关呢?
在TESTRAC2实例上启动两个做循环操作的SQL,模拟系统资源被大量占用的情况:
SQL> DECLARE
2 V_JOB NUMBER;
3 BEGIN
4 DBMS_JOB.SUBMIT(V_JOB,
5 'BEGIN
6 FOR I IN 1..1000 LOOP
7 FOR J IN 1..1000000 LOOP
8 NULL;
9 END LOOP;
10 END LOOP;
11 END;',
12 TO_DATE('2007-3-22 22:00:00', 'YYYY-MM-DD HH24:MI:SS'),
13 INSTANCE => 2);
14 COMMIT;
15 END;
16 /
PL/SQL 过程已成功完成。
已用时间: 00: 00: 00.53
SQL> DECLARE
2 V_JOB NUMBER;
3 BEGIN
4 DBMS_JOB.SUBMIT(V_JOB,
5 'BEGIN
6 FOR I IN 1..1000 LOOP
7 FOR J IN 1..1000000 LOOP
8 NULL;
9 END LOOP;
10 END LOOP;
11 END;',
12 TO_DATE('2007-3-22 22:00:00', 'YYYY-MM-DD HH24:MI:SS'),
13 INSTANCE => 2);
14 COMMIT;
15 END;
16 /
PL/SQL 过程已成功完成。
等到两个JOB启动之后,检查操作系统的运行情况:
$ sar 1 10
SunOS racnode2 5.8 Generic_117350-46 sun4u 03/22/07
22:00:29 %usr %sys %wio %idle
22:00:30 94 6 0 0
22:00:31 94 6 0 0
22:00:32 95 5 0 0
22:00:33 91 9 0 0
22:00:34 93 7 0 0
22:00:35 91 9 0 0
22:00:36 92 8 0 0
22:00:37 95 5 0 0
22:00:38 94 6 0 0
22:00:39 96 4 0 0
Average 94 6 0 0
$
然后进行连接实例的测试:
IXDBA.NET社区论坛SQL> CONN NDMAIN/NDMAIN@TESTRAC已连接。
SQL> SELECT INSTANCE_NAME FROM V$INSTANCE;
INSTANCE_NAME
----------------
testrac1
SQL> CONN NDMAIN/NDMAIN@TESTRAC已连接。
SQL> SELECT INSTANCE_NAME FROM V$INSTANCE;
INSTANCE_NAME
----------------
testrac2
SQL> CONN NDMAIN/NDMAIN@TESTRAC已连接。
SQL> SELECT INSTANCE_NAME FROM V$INSTANCE;
INSTANCE_NAME
----------------
testrac1
SQL> CONN NDMAIN/NDMAIN@TESTRAC已连接。
SQL> SELECT INSTANCE_NAME FROM V$INSTANCE;
INSTANCE_NAME
----------------
testrac2
SQL> DISC从 Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options 断开
SQL>
多个连接的测试:
E:>SQLPLUS NDMAIN/NDMAIN@TESTRAC
SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 3月 22 21:56:26 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
SQL> SELECT INSTANCE_NAME FROM V$INSTANCE;
INSTANCE_NAME
----------------
testrac2