熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Oracle] RAC 之 - 負載均衡深入解析

2013-11-13 22:24:34  來源: Oracle 
負載均衡是指把負載平均分配到集群中的各個節點從而提高整體性能Oracle RAC提供兩種方式實現負載均衡以下就為大家詳細介紹一下需要的朋友可以參考下  

  Oracle RAC提供兩種方式實現負載均衡第一種是純技術手段即在用戶連接時根據系統當前的負載情況決定由哪個節點處理用戶請求第二種是面向業務人為的把應用切分成很多service通過某個service過來的連接請求都由某個節點處理下面來具體看看這兩種手段

  純技術手段 (面向連接的負載均衡)

   客戶端負載均衡
配置方法是在客戶端tnsnamesora文件中設置LOAD_BALANCE=YES當客戶端發起連接時會從地址列表中隨機選取一個把連接請求隨機分散給各個實例
這個技術的最大缺點在於不能根據各個實例的真實負載情況來分散請求太過粗糙因此很少使用

   服務器端負載均衡
服務器端負載均衡依賴於Listener收集的負載信息在數據庫運行過程 中pmon進程會收集系統的負載信息定期更新至Listener中如果你配置了Remote_listener參數pmon進程不但能把負載信息 注冊到本地Listener也可以注冊到其它實例的Listener這樣有了pmon自動注冊機制後集群的每個節點的Listener都掌握了所有 節點的負載信息當收到客戶端請求時會把連接分配給負載最小的實例

  面向業務手段 (利用Service負載均衡)
上 面介紹了純技術手段進行的負載均衡看起來很美好但在實際使用中可能會帶來非常大的性能問題大家都知道RAC由於其sharedisk的架構 它的性能很大程度上依賴於內存融合(Cache Fusion)純技術手段無法知道業務的具體情況因此它可能把同一個業務的連接分散到各個實例中導致大量的內存融合性能急劇下降

如果我們換一種思路把同一種應用程序的連接分到同一個實例上比如A應用程序的連接都連在A實例B應用程序的連接都連在B實例上這樣就能夠有效地減少內存融合
對應用的劃分可以通過service實現這需要DBA和開放人員合作在了解業務特點的情況下配置service


From:http://tw.wingwit.com/Article/program/Oracle/201311/19020.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.