oracle+9i+rac+价格,Oracle 9i RAC 互联性能

Oracle 9i RAC 互联性能

摘自:

内容

提要 Oracle 9i RAC (Real Application Cluster)提供比单一实例更好的可用性和可扩展性,当前用户越来越多的开始采用RAC的系统,用户在传统单一实例上的监视和调整系统CPU,内存和硬盘的技能和经验,通常在RAC环境中同样适用。然而在RAC环境中有更多需要用户考虑的问题。

Oracle 9i RAC 多节点的结构引入了一个新的硬件模块 -- RAC 节点间的互联网络,用于协调各个节点的运行,包括全局锁(global locking),队列(enqueue)和缓存管理(buffer cache management)。RAC是一种较新的技术,对于节点间互联的方式和性能的资料还很少,本文将对此进行一些分析,这些分析基于IBM pSeries 服务器和用户的实际工作负载.

正文 1. RAC 互联配置

在IBM pSeries环境下RAC支持以下的互联选项,基于UDP协议的100Mbps或千兆的以太网,基于IBM专利技术的SP Switch和SP Switch 2。大多是RAC的环境使用千兆以太网,因为千兆以太网能够在相对低的成本下,为大多数商业应用提供足够的带宽和可忍受的网络延迟。100Mbps的以太网更适合于低负载的测试环境,而SP Swith 2则适用于大型、高负载和对反应时间要求严格的复杂应用环境。

通常RAC的环境下,在公用网络的基础上,需要配置两条专用的网络用于节点间的互联,在HACMP/ES资源的定义中,这两条专用的网络应该被定义为"private"。在实例启动的过程中,RAC会自动识别和使用这两条专用的网络,并且如果存在公用"public"的网络,RAC会再识别一条公用网络。当RAC识别到多条网络时,RAC会使用TNFF (Transparent Network Failvoer Failback)功能,在TNFF下所有的节点间通信都通过第一条专用的网络进行,第二条(或第三条等)作为在第一条专用的网络失效后的备份。

CLUSTER_INTERCONNECTS是在Oracle RAC中的一个可选的初始化(init.ora)参数。此参数可以指定使用哪一条网络用于节点间互联通信,如果指定多条网络,RAC会在这些网络上自动进行负载均衡。然而,当CLUSTER_INTERCONNECTS设置时,TNFF不起作用,这将降低RAC的可用性,任何一条节点间互联网络的失效,都会造成RAC一个或多个节点的失效。

在AIX环境中Oracle数据库在单一实例下的性能调整方法(如: 异步I/O,VMM等)对Oracle RAC环境仍然有效。但在Oracle RAC环境下,需要考虑其他一些问题。RAC采用UDP协议进行节点间的互联通信,因此与UDP有关的一些参数需要调整。建议udp_sendspace的起始值为db_block_size * db_file_multiblock_read_count,udp_recvspace设为udp_sendspace的4倍,上限为1048576。如果发生socket缓存溢出(可通过 netstat -s | grep "socket buffer overflows" 命令察看) udp_recvspace参数值需要增加。

Oracle STATSPACK报告包含很多对于节点间互联性能的信息。首先应该查看的是“Top 5 Timed Events”,在RAC的环境中,“global cache cr request”通常会出现在这里,如果这个事件(event)在整个“Total Elapsed Time”中只占很小的比例 (如下例所示) 表示RAC中节点间通信工作正常,否则,如果占的比例较大,表示节点间通信有问题。

在"Cluster Statistics"部分包含了很多关于节点间通信性能的信息,如Global Cache Service (GCS)的平均响应时间 (average response times) 尤其是关于get和reveive相关的事件。下面所示的是RAC在Switch 2环境下的数据,其带宽和网络延迟都大大好于千兆以太网。

小结:

对于Oracle RAC来说,节点间通信的性能是需要特殊考虑的。节点间互联的网络提供"global cache coherency","global locking"和其他RAC管理的功能。工业标准的千兆以太网为大都数基于RAC商业应用提供令人满意的性能,如果对于性能有更高的要求就需要选用IBM的SP Switch2。

一道考题:

Oracle 9i或者10g的Real Application Cluster(RAC)版本,在AIX操作系统上是使用User Datagram Protocol(UDP)协议作为interprocess通讯的,为了提高Oracle的性能,需要调整UDP参数的设置。需要使用no命令来修改udp_sendspace和udp_recvspace参数。如:Ø 将udp_sendspace参数设置成为[(DB_BLOCK_SIZE*DB_FILE_MULTIBLOCK_READ_COUNT)+4096],并且不小于65536Ø 将udp_recvspace参数设置为>=4*udp_sendspaceØ 如果需要,增加sb_max参数(缺省是1048576),因为sb_max必须>=udp_recvspace为了确定udp_recvspace是否设置的合适,可以使用如下的哪一个命令:

A) netstat -s|grep "socket buffer overflows"

B) lsattr -El udp_recvspace

C) no -a|grep udp_recvspace

D) 以上都不是

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值