Oracle RAC 之 負載均衡

2021-08-27 12:46:50 字數 923 閱讀 6739

負載均衡是指把負載平均分配到集群中的各個節點,從而提高整體效能。oracle rac提供兩種方式實現負載均衡,第一種是純技術手段,即在使用者連線時,根據系統當前的負載情況決定由哪個節點處理使用者請求;第二種是面向業務,人為的把應用切分成很多service,通過某個service過來的連線請求都由某個節點處理。下面來具體看看這兩種手段:

1. 客戶端負載均衡

配置方法是在客戶端tnsnames.ora檔案中設定load_balance=yes,當客戶端發起連線時,會從位址列表中隨機選取乙個,把連線請求隨機分散給各個例項。

這個技術的最大缺點在於不能根據各個例項的真實負載情況來分散請求,太過粗糙,因此很少使用。

2. 伺服器端負載均衡

伺服器端負載均衡依賴於listener收集的負載資訊,在資料庫執行過程中,pmon程序會收集系統的負載資訊,定期更新至listener中。如果你配置了remote_listener引數,pmon程序不但能把負載資訊註冊到本地listener,也可以註冊到其它例項的listener。這樣有了pmon自動註冊機制後,集群的每個節點的listener都掌握了所有節點的負載資訊,當收到客戶端請求時,會把連線分配給負載最小的例項。

上面介紹了純技術手段進行的負載均衡,看起來很美好,但在實際使用中,可能會帶來非常大的效能問題。大家都知道,rac由於其share-disk的架構,它的效能很大程度上依賴於記憶體融合(cache fusion),純技術手段無法知道業務的具體情況,因此它可能把同乙個業務的連線分散到各個例項中,導致大量的記憶體融合,效能急劇下降。

如果我們換一種思路,把同一種應用程式的連線分到同乙個例項上,比如a應用程式的連線都連在a例項,b應用程式的連線都連在b例項上,這樣就能夠有效地減少記憶體融合。

對應用的劃分可以通過service實現,這需要dba和開放人員合作,在了解業務特點的情況下配置service

Oracle RAC負載均衡

原文 http blue prince.spaces.live.com blog cns 12d6e6ccfacf4283 1058.entry rac的負載均衡 rac的負載均衡主要是指新會話連線到rac資料庫時,如何判定這個新的連線要連到哪個節點進行工作。在rac中,負載均衡分為兩種,一種是基於...

Oracle RAC負載均衡 客戶端配置

附上dba給的客戶端 配置 rac的負載均衡 rac的負載均衡主要是指新會話連線到rac資料庫時,如何判定這個新的連線要連到哪個節點進行工作。在rac中,負載均衡分為兩種,一種是基於客戶端連線的,另外一種是基於伺服器端的。客戶端的負載均衡配置相對簡單,只需要在tnsnames.ora中新增load ...

負載均衡之lvs

集群 cluster 將一組計算機軟 硬體連線起來,高度緊密的協作完成計算工作,其中的單個計算機通常稱為節點。負載均衡集群 load balancing 通過負載均衡器,將負載盡可能平均分攤處理。lvs linux virtul server linux虛擬服務,分為三層結構 排程器 上面的虛擬ip...