模擬計算以預估計算時間
您可以模擬 Essbase 區塊儲存立方體的模型計算,以預估實際計算需要多久的時間。若要這麼做,您必須執行「僅設定 MSG」與「SET NOTICE HIGH」的計算指令碼、記下完成時間,然後進行外推。
您只能在計算指令碼中使用設定 MSG 來模擬計算。模擬計算會產生結果,協助您分析以相同資料和大綱為基礎之實際計算的效能。
藉由使用 SET NOTICE HIGH 等命令執行模擬計算,您可以標示每個稀疏維度需要完成的相對時間。然後,藉由對一或多個維度執行實際計算,您可以預估完整計算需要多久時間,因為執行模擬計算所需的時間與實際計算執行所需的時間成正比。
例如,如果計算是從上午 9:50:00 開始,且第一個通知是時間戳記在上午 09:50:10,而第二個通知是時間戳記在上午 09:50:20,則您知道計算的每個部分都花了 10 秒。如果您接著只對第一個部分執行實際的計算,並注意到它執行了 30 秒,您知道另一個部分還需要 30 秒。如果總共有兩個訊息,則您會知道實際計算需要大約 60 秒 (20 / 10 * 30 = 60 秒)。
使用下列主題瞭解如何執行模擬計算,以及如何使用模擬計算來預估計算時間。
模擬計算
使用 SET MSG ONLY 和 SET NOTICE HIGH 命令執行計算命令檔,並記下應用程式日誌中的時戳,模擬 Essbase 區塊儲存立方體模型的計算。
您必須先根據實際立方體的資料模型執行模擬計算,才能預估計算時間。然後,您可以查看應用程式日誌,以查看計算花費的時間。
若要瞭解應用程式日誌的位置,請參考 Essbase 平台中的環境位置。
若要執行模擬計算,請執行下列動作:
影響預估準確度的因子
根據 Essbase 區塊儲存立方體的模擬計算,預估的準確性可能會受到區塊密度和大綱結構等因素的影響。
如果沒有造成變異的關鍵因素,模擬計算應該傳回準確的時間到大約 5%。
當這些因素存在時,當 Essbase 達到 30% 到 40% 的模擬計算時,此估算技術會更精確地預測計算時間 (SET NOTICE HIGH 所產生訊息的 30% 到 40%)。
因影響鏈所致的變化
使用 SET MSG ONLY 作為計算時間估算技術,應對較晚的 CALCNOTICE 間隔進行驗證。此估計技術的結果因下列影響鏈而異:
-
區塊密度因實際合併程序而異,
-
Essbase 將區塊寫入磁碟的速率不同,因此
-
因此,在快取中處理區塊的速率不同,
-
實際結果可能與預測計算時間不同。
因大綱結構而產生的變化
另一個可以讓實際結果與預測顯著差異的因素是大綱結構。以 CALCNOTICE 間隔為基礎的計算,會假設整個大綱中的處理時間均衡。可扭曲此餘額的因子包含下列情況:
-
模型包含一或兩個相對於其他稀疏維度的大型稀疏維度。
-
較大的維度具有導致多個共用累加的成員組態。
依據結果變更大綱
在您預估和分析 Essbase 區塊儲存立方體模型的模擬計算之後,您可以變更大綱以提升效能。
從大綱的頂端到底端,排序稀疏維度以在上方區塊中建立最少的百分比增加:
-
完整模型負載後的層級 0 區塊:100,000
-
僅合併稀疏維度 1 之後的上層區塊:1,000,000
-
僅合併稀疏維度 2 之後的上層區塊:3,000,000
-
僅合併稀疏維度 3 之後的上層區塊:10,000,000
-
僅合併稀疏維度 4 之後的上層區塊:300,000
-
僅合併稀疏維度 5 之後的上層區塊:5,700,000
舉例而言:
-
#4 (成員 = 10,000,4 個層級)
-
#1 (會員 = 500,2 個層級)
-
#2 (成員 = 100,4 個階層)
-
#5 (成員 = 10,000,4 個層級)
-
#3 (成員 = 20,平面)
使用模擬計算來產生區塊計數上限。儘管上述項目旁註明的實際尺寸大小,但這些數字可能準確。
警示:
最大成員數目不一定是好的預測程式。
請考慮使用混合模式。在混合模式立方體中,您可以輕鬆地自訂解析順序,而不是重新排列維度順序。