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) 以上都不是
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/543979/viewspace-678174/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 9i RAC on PowerHA5.5Oracle
- Oracle 9i RAC enqueue等待測試OracleENQ
- Oracle 9i效能調整 [ZT]Oracle
- Oracle RAC聯網元件Oracle元件
- Oracle RAC序列效能測試Oracle
- Oracle RAC效能管理(筆記)Oracle筆記
- oracle 9i single instance convert to rac databaseOracleDatabase
- 更改rac的vip地址和叢集互聯地址
- Oracle 9i 整體效能優化概述(zt)Oracle優化
- Oracle 9i 整體效能最佳化[zt]Oracle
- Oracle 9i RAC向單例項遷移手記Oracle單例
- 【oifcfg】使用Oracle介面配置工具(oifcfg)調整RAC公用和私有互聯IP子網配置Oracle
- ORACLE 9I RAC IPC Send timeout detected問題處理Oracle
- 關於Oracle 9i RAC enqueue等待的一點測試OracleENQ
- VMware下RedHat安裝Oracle 9i RAC全攻略(轉)RedhatOracle
- (轉)【oifcfg】使用Oracle介面配置工具(oifcfg)調整RAC公用和私有互聯IP子網配置Oracle
- ORACLE 11g RAC 叢集互連延遲Oracle
- Oracle 12. 2 RAC public IP與vip 互換方法Oracle
- oracle 9i 10G 11G 的RAC 穩定性比較Oracle
- Oracle FailSafe與rac的聯絡與區別OracleAI
- Oracle資料庫9i在AIX環境下的效能調整Oracle資料庫AI
- oracle 9i提供2種模式匯出表資料效能比較Oracle模式
- Oracle FailSafe與rac的聯絡與區別(zt)OracleAI
- Oracle 9i安裝Oracle
- Uninstall Oracle 9iOracle
- oracle 9i 閃回Oracle
- oracle 9i index bug?OracleIndex
- ORACLE 9i statspack使用Oracle
- Oracle 9I dataguard(standby)Oracle
- 互連效能變差,檢查UDP緩衝區設定,監控RAC度量UDP
- 理財筆記 - 關於中概互聯和中國互聯筆記
- 9I RAC驅逐案例分析-ORA-29740
- 9i RAC轉換為SINGLE例項
- Docker 容器互聯方法Docker
- 更改oracle叢集中的的公用/互聯IP子網配置Oracle
- [摘錄] Oracle 9i 效能調優系列培訓視訊下載地址Oracle
- oracle RACOracle
- Step-By-Step Installation of 9i RAC on IBM AIXIBMAI