Leo Yeh's Blog

SAS 系統管理 (81)

教學目標

初步了解 SAS 9 平台中 SAS Stored Process 叢集架構的基本概念。

重點概念

首先針對 SAS 平台的系統管理員將會面臨許多的挑戰,主要挑戰在於如何服務更多的客戶端,不僅能夠處理更多的請求之外也需要能夠更快的進行回應。此時我們會建立 SAS Stored Process 的叢集架構,並且主要透過 SAS Object Spawners 伺服器進行不同 SAS Stored Process 伺服器的負載平衡,以利達到所需的效能。

接著所謂 SAS Stored Process 伺服器主要是被設計於執行預儲程序和交付結果給客戶端軟體,因此客戶端能夠直接透過伺服器強大的環境平行處理客戶請求。所謂 SAS Objet Spawner 主要是被設定於透過連接埠監聽客戶的請求,當接收到客戶請求時就會執行預儲程式。SAS Object Spawners 主要會進行點對點的連線溝通,並且指定一個為 Parent Spawner,其它為 Child Spawners,若是目前的 Parent Spawner 為離線狀態時,則線上的 Child Spawner 其中之一將會被自動指定為 Parent Spawner,而原先 的 Parent Spawner 將會轉為 Child Spawner 即使它返回線上狀態,至於新加入的 Spawner 皆為 Child Spawner。當客戶端請求預儲程式執行時,主要有兩個方法,分別為傳送至 Stored Process 伺服器或傳送至 Parent Spawner 伺服器,並且基於被設定的負載平衡演算法,決定哪一個伺服器將會執行請求和轉送請求至 Child Spawner 伺服器中進行執行。

再來預設任何 Stored Process 伺服器主要會有三個 Multibridge 連線,所謂 Multibridge 連線主要是處理多個客戶端請求,我們主要能夠透過 SAS Management Console 工具進行新增與刪除Multibridge 連線。此外在 SAS 平台中主要有三種負載平衡的演算法,分別為回應時間演算法、成本演算法和格網演算法。

最後預設負載平衡的演算法為成本演算法,至於要如何計算每個 MultiBridge 連線能夠處理的 Stored Process 工作階段數,其公式為 ( 最大成本 - 啟動成本 ) / ( 客戶成本 + 內容成本 ),例如:最大成本為 500、啟動成本為 10、客戶成本為 1 和內容成本為 100,則 (500 - 10) / (1 + 100) = 4.85 四捨五入為 5 代表每個 MultiBridge 連線能夠處理五個 Stored Process 工作階段數。

總結當 SAS 平台上線之後,若有效能的問題,則建議調整每個 MultiBridge 連線能夠處理更多的 Stored Process 工作階段數,以利提升執行效能。

相關資源

⬅️ Go back