« IBM AIX svmon 简介之一 | 文摘首页 | 怎样使用OCI编写多线程的ORACLE应用软件 »
IBM AIX Oracle 9i RAC 性能因素 - udp及其他
转载 by:eygle | 【恩墨学院 OCM培训传DBA成功之道】
链接:https://www.eygle.com/digest/2009/07/ibm_aix_oracle_9i_rac_udp.html
原文链接: http://www-01.ibm.com/support/docview.wss?uid=csc179c2d650f71a939248256df800234bb9链接:https://www.eygle.com/digest/2009/07/ibm_aix_oracle_9i_rac_udp.html
内容提要:
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。
历史上的今天...
By eygle on 2009-07-15 13:32 | Comments (1) | Oracle摘 | 2340 |
真是钦佩不已,最近找啥东西都被google给带到这里。