為何商業規則的執行時間會有所不同?

通常,使用者會注意到商業規則的執行時間因環境而異,或者與不同的執行時期提示搭配使用時也會有所不同。執行時間的差異始終與規則正在處理的資料量 (區塊數、儲存格等等) 關聯。

Calculation Manager 中,針對 BSO 立方體的商業規則執行完成之後,日誌訊息將出現在新頁籤中。您可以將這些訊息匯出至 CSV 檔案,以便於剖析和比較。日誌訊息包含計算器資訊訊息區段,其中包含類似於下列內容的資訊

Total Block Created: [XXXX] Blocks
Sparse Calculations: [XXXX] Writes and [XXXX] Reads
Dense Calculations: [XXXX] Writes and [XXXX] Reads
Sparse Calculations: [XXXX] Cells
Dense Calculations: [XXXX] Cells

在此範例中,[XXXX] 表示一個數字,例如 1.2600e+02。若要將 [XXXX] 轉換為表示對區塊和儲存格執行的計算以及讀寫作業的實數,請執行下列動作:

  1. 使用 Microsoft Excel,開啟包含來自一個環境或規則之日誌訊息的 CSV 檔案。
  2. 找出計算器資訊訊息區段,例如:
    Total Block Created: [0.0000e+00] Blocks
    Sparse Calculations: [2.7760e+03] Writes and [4.4136e+04] Reads
    Dense Calculations: [0.0000e+00] Writes and [0.0000e+00] Reads
    Sparse Calculations: [1.1561e+08] Cells
    Dense Calculations: [0.0000e+00] Cells
  3. 計算器資訊訊息區段中的每個值複製到相鄰的任意儲存格,然後將儲存格格式變更為數字。
    重新格式化計算器資訊訊息

    重新格式化這些儲存格時,來自行稀疏計算:= [2.7760e+03] 寫入,且 = [4.4136e+04] 讀取的值 2.7760e+034.4136e+04 將轉換為實數 2776.00044136.00

  4. 重複前述步驟,取得對要與效能進行比較之環境或規則中的區塊和儲存格執行的計算,以及讀寫作業數。
  5. 比較執行的計算以及讀寫作業,以判斷效能差異的原因。

    例如,由於執行時期提示的變更,在相同程序的兩次執行期間,同一規則可能必須處理更多的區塊和儲存格。通常,如果計算處理更多的區塊和儲存格,則可能需要更長時間來執行。同樣地,需要較大讀取或寫入值的計算比具有較低值的計算需要更長時間來執行。