ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 三节点RAC负载均衡测试

三节点RAC负载均衡测试

原创 Linux操作系统 作者:cc59 时间:2007-05-19 00:00:00 0 删除 编辑


环境: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/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: bitmap的锁机制
请登录后发表评论 登录
全部评论

注册时间:2007-12-21

  • 博文量
    132
  • 访问量
    308420