首页 > Linux操作系统 > Linux操作系统 > 三节点RAC负载均衡测试
环境:hpunix 11i
cluster: mc /sg
先看rac配置情况吧,既然要做到load_balance,肯定需要配置server端的tnsnames.ora,首先来看各实例的remote_listener和local_listener情况:
rac1:
SQL> show parameter listener
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string LISTENER_RAC1
mts_listener_address string
mts_multiple_listeners boolean FALSE
remote_listener string LISTENERS_RAC
rac2:
SQL> show parameter listener
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string LISTENER_RAC2
mts_listener_address string
mts_multiple_listeners boolean FALSE
remote_listener string LISTENERS_RAC
rac3:
SQL> show parameter listener
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string LISTENER_RAC3
mts_listener_address string
mts_multiple_listeners boolean FALSE
remote_listener string LISTENERS_RAC
tnsnames:
rac1:
# Generated by Oracle configuration tools.
LISTENERS_RAC =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = IBSSAPP)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = LBAS)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = LBASAPP)(PORT = 1521))
)
RAC2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = LBASAPP)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = rac)
(INSTANCE_NAME = rac2)
)
)
RAC3 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = LBAS)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = rac)
(INSTANCE_NAME = rac3)
)
)
LISTENER_RAC1 =
(ADDRESS = (PROTOCOL = TCP)(HOST = IBSSAPP)(PORT = 1521))
RAC1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = IBSSAPP)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = rac)
(INSTANCE_NAME = rac1)
)
)
INST1_HTTP =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = IBSSAPP)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = MODOSE)
(PRESENTATION = http://HRService)
)
)
RAC =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = IBSSAPP)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = LBAS)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = LBASAPP)(PORT = 1521))
(LOAD_BALANCE = yes)
)
(CONNECT_DATA =
(SERVICE_NAME = rac)
)
)
failover =
(DESCRIPTION =
(enable=broken)
(LOAD_BALANCE = yes)
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.17.36.81)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.17.36.82)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.17.36.83)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = rac)
(failover_mode=(type=select)(method=basic))
)
)
-----------------------------------------------------
rac2:tnsnames
# Generated by Oracle configuration tools.
LISTENERS_RAC =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = IBSSAPP)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = LBAS)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = LBASAPP)(PORT = 1521))
)
LISTENER_RAC2 =
(ADDRESS = (PROTOCOL = TCP)(HOST = LBASAPP)(PORT = 1521))
RAC2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = LBASAPP)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = rac)
(INSTANCE_NAME = rac2)
)
)
RAC3 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = LBAS)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = rac)
(INSTANCE_NAME = rac3)
)
)
RAC1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = IBSSAPP)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = rac)
(INSTANCE_NAME = rac1)
)
)
INST1_HTTP =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = IBSSAPP)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = MODOSE)
(PRESENTATION = http://HRService)
)
)
RAC =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = IBSSAPP)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = LBAS)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = LBASAPP)(PORT = 1521))
(LOAD_BALANCE = yes)
)
(CONNECT_DATA =
(SERVICE_NAME = rac)
)
)
failover =
(DESCRIPTION =
(enable=broken)
(LOAD_BALANCE = yes)
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.17.36.81)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.17.36.82)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.17.36.83)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = rac)
(failover_mode=(type=select)(method=basic))
)
)
--------------------------------------------
rac3:tnsnames.
# Generated by Oracle configuration tools.
LISTENERS_RAC =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = IBSSAPP)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = LBAS)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = LBASAPP)(PORT = 1521))
)
LISTENER_RAC3 =
(ADDRESS = (PROTOCOL = TCP)(HOST = LBAS)(PORT = 1521))
RAC2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = LBASAPP)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = rac)
(INSTANCE_NAME = rac2)
)
)
RAC3 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = LBAS)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = rac)
(INSTANCE_NAME = rac3)
)
)
RAC1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = IBSSAPP)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = rac)
(INSTANCE_NAME = rac1)
)
)
INST1_HTTP =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = IBSSAPP)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = MODOSE)
(PRESENTATION = http://HRService)
)
)
RAC =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = IBSSAPP)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = LBAS)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = LBASAPP)(PORT = 1521))
(LOAD_BALANCE = yes)
)
(CONNECT_DATA =
(SERVICE_NAME = rac)
)
)
failover =
(DESCRIPTION =
(enable=broken)
(LOAD_BALANCE = yes)
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.17.36.81)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.17.36.82)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.17.36.83)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = rac)
(failover_mode=(type=select)(method=basic))
)
)
====================================================================
listener.ora
rac1.
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = IBSSAPP)(PORT = 1521))
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /oracle/rac/oracle/ora9i/app/oracle/product/902)
(PROGRAM = extproc)
)
(SID_DESC =
(ORACLE_HOME = /oracle/rac/oracle/ora9i/app/oracle/product/902)
(SID_NAME = rac1)
)
)
-------------------------------------------------------------
rac2.
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = LBASAPP)(PORT = 1521))
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /oracle/rac/oracle/ora9i/app/oracle/product/902)
(PROGRAM = extproc)
)
(SID_DESC =
(ORACLE_HOME = /oracle/rac/oracle/ora9i/app/oracle/product/902)
(SID_NAME = rac2)
)
)
----------------------------------------------
rac3.
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = LBAS)(PORT = 1521))
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /oracle/rac/oracle/ora9i/app/oracle/product/902)
(PROGRAM = extproc)
)
(SID_DESC =
(ORACLE_HOME = /oracle/rac/oracle/ora9i/app/oracle/product/902)
(SID_NAME = rac3)
)
)
==========================================================
client:
ractest =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.17.36.81)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.17.36.82)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.17.36.83)(PORT = 1521))
)
(LOAD_BALANCE = ON)
(FAILOVER = ON)
(CONNECT_DATA =
(SERVICE_NAME = rac)
(FAILOVER_METHOD =
(TYPE = SESSION)
(METHOD = BASIC)
)
)
)
测试工具:load_runner
测试结果:
在不断在使用load_runner工具添加进程,以及同时执行脚本后,三台主机CPU使用情况均达到100%的利用率,达到了负载分担的测试要求。
但是这种情况并不能达到将连接会话数的负载均衡。这种以根据资源使用情况,主要是cpu使用情况来分担负载。
这里并没有对故障切换作测试。下次把failover测试结果帖上来。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/104152/viewspace-140012/ ,如需转载,请注明出处,否则将追究法律责任。