模擬計算以預估計算時間

您可以模擬 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 平台中的環境位置

若要執行模擬計算,請執行下列動作:

  1. 建立一個資料模型,該模型使用所有維度以及您想要的資訊的所有詳細資料層級。
  2. 載入所有資料。此程序只會計算在立方體中載入的資料。
  3. 使用下列項目建立計算指令碼:
    SET MSG ONLY;
    SET NOTICE HIGH;
    CALC ALL;

    如果您在密集維度上使用動態計算,請將 CALC ALL 指令取代為您需要計算的特定維度;例如,CALC DIM EAST。

    附註:

    如果您嘗試驗證指令碼, Essbase 會回報錯誤。忽略錯誤。

  4. 執行命令檔。
  5. 尋找應用程式日誌中的第一個稀疏計算訊息,並記下訊息中的時間。
  6. 請注意每個後續訊息的時間。
  7. 計算未動態計算之模型的密集維度:
    CALC DIM (DENSE_DIM1, DENSE_DIM2, …);
  8. 計算模型的稀疏維度:
    CALC DIM (SPARSEDIM1, SPARSEDIM2, …);
  9. 規劃將發生通知的間隔,然後驗證稀疏計算結果。然後您便可以預估計算時間。

預估計算時間

記錄模擬計算的結果,並使用它們來預估 Essbase 區塊儲存立方體的實際計算時間。

若要預估總計算時間,請執行下列動作:

  1. 請注意 SET NOTICE HIGH 所產生之應用程式日誌訊息之間的所有間隔時間。

    請參見下表。

  2. 使用下列計算來預估實際計算的時間:

    模擬計算所需的時間總計,除以第一個模擬計算通知間隔,再乘以第一個即時計算時間間隔。

    表格 34-1 日誌訊息之間的間隔範例

    計算通知編號 模擬計算時間間隔 (秒) 稀疏維度計算間隔 (秒)

    1

    7

    45

    2

    5

     

    3

    6

     

    4

    3

     

    5

    4

     

    6

    2

     

    7

    6

     

    8

    4

     

    9

    3

     

    10

    3

     

    計算時間總計

    43

     

    在此範例中,43 / 7 * 45 = 276.4 秒,因此實際計算需要 276.4 秒。

影響預估準確度的因子

根據 Essbase 區塊儲存立方體的模擬計算,預估的準確性可能會受到區塊密度和大綱結構等因素的影響。

如果沒有造成變異的關鍵因素,模擬計算應該傳回準確的時間到大約 5%。

當這些因素存在時,當 Essbase 達到 30% 到 40% 的模擬計算時,此估算技術會更精確地預測計算時間 (SET NOTICE HIGH 所產生訊息的 30% 到 40%)。

因影響鏈所致的變化

使用 SET MSG ONLY 作為計算時間估算技術,應對較晚的 CALCNOTICE 間隔進行驗證。此估計技術的結果因下列影響鏈而異:

  1. 區塊密度因實際合併程序而異,

  2. Essbase 將區塊寫入磁碟的速率不同,因此

  3. 因此,在快取中處理區塊的速率不同,

  4. 實際結果可能與預測計算時間不同。

因大綱結構而產生的變化

另一個可以讓實際結果與預測顯著差異的因素是大綱結構。以 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,平面)

使用模擬計算來產生區塊計數上限。儘管上述項目旁註明的實際尺寸大小,但這些數字可能準確。

警示:

最大成員數目不一定是好的預測程式。

請考慮使用混合模式。在混合模式立方體中,您可以輕鬆地自訂解析順序,而不是重新排列維度順序。