單一執行緒階段
DLSINGLETHREADPERSTAGE 組態設定會指示 Essbase 使用每個處理階段的單一執行緒載入資料,或使用 DLTHREADSPREPARE 與 DLTHREADSWRITE 組態設定值中指定的執行緒值。這三種組態設定值可協助您測試及改善區塊儲存資料載入效能。
語法
DLSINGLETHREADPERSTAGE [appname [dbname]] TRUE | FALSE-
appname — 應用程式名稱。可選擇將 TRUE 或 FALSE 設定值套用至應用程式內的一或多個資料庫。如果您指定 appname 的值,但未指定 dbname 的值,則設定會套用至指定應用程式中的所有資料庫。如果您未指定應用程式,則無法指定資料庫,且該設定會套用至 Essbase 伺服器上的所有應用程式和資料庫。
-
dbname —資料庫名稱。將 TRUE 或 FALSE 設定值套用至指定應用程式內之特定資料庫的選擇性參數。如果您未指定 dbname 的值,則該設定會套用至指定應用程式內的所有資料庫。如果未指定 appname,則無法指定 dbname。
-
TRUE —當 Essbase 執行資料載入時,不會使用 DLTHREADSPREPARE 與 DLTHREADSWRITE 組態設定值中的值。因此,它會以單一執行緒階段執行所有資料載入程序。
-
FALSE — 告知 Essbase 使用組態設定值 DLTHREADSPREPARE 與 DLTHREADSWRITE 中指定的繫線值作為資料載入處理的準備與寫入階段中使用的繫線數目。預設值為 FALSE。
描述
此設定及相關設定值 DLTHREADSPREPARE 與 DLTHREADSWRITE 與平行資料載入處理相關。資料載入處理分為 Essbase 針對每個階段使用個別處理執行緒所執行的階段。依照預設,每個階段會使用單一執行緒。利用伺服器電腦的多重執行緒功能,可以平行執行個別的單一執行緒階段。
若要針對您的情況最大化使用處理器資源以改善資料載入效能,您可以使用這些設定值,在資料載入處理的準備和寫入階段中啟用額外的多重執行緒處理。
備註
-
測試 DLTHREADSPREPARE 與 DLTHREADSWRITE 組態設定值的執行緒值時,您可以使用 DLSINGLETHREADPERSTAGE 設定,在每個階段快速回復成使用單一執行緒。
-
如果對單一處理器電腦有任何好處,在準備和寫入階段期間啟用多個執行緒可能會產生很少的效果。
-
將資料來源的內容和組織等因素最佳化,可以比增加要使用的繫線數目來增強效能。
範例
範例 1
DLSINGLETHREADPERSTAGE Sample Basic TRUE
DLTHREADSPREPARE Sample Basic 3
DLTHREADSWRITE Sample Basic 4將資料載入 Sample Basic 應用程式和資料庫時, Essbase 會忽略 DLTHREADSPREPARE 和 DLTHREADSWRITE 指定的任何值。因此, Essbase 會在每個階段使用單一執行緒。
範例 2
DLSINGLETHREADPERSTAGE FALSE
DLTHREADSPREPARE Sample Basic 3
DLTHREADSWRITE Sample Basic 4根據第一個設定, Essbase 會使用伺服器上所有資料庫的 DLTHREADSPREPARE 與 DLTHREADSWRITE 組態設定值所指定的繫線數目。第二行與第三行的設定會在載入 Sample Basic 應用程式與資料庫時,指定使用 3 個處理執行緒來進行準備階段,以及 4 個用於寫入階段的處理執行緒。假設沒有進一步的相關設定值,則會假設伺服器上所有其他應用程式和資料庫的預設值為 1 (一)。
範例 3
DLSINGLETHREADPERSTAGE Sample FALSE
DLTHREADSWRITE Sample Basic 3
DLTHREADSWRITE Sample Interntl 4在上述範例中, Essbase 會使用 DLTHREADSPREPARE 與 DLTHREADSWRITE 組態設定值所指定的繫線數目,用於名為 Sample 之應用程式內的所有資料庫。若要在兩個不同資料庫的寫入階段使用不同數目的繫線,每個特定資料庫的不同繫線值會包含兩個 DLTHREADSWRITE 設定值。因為未指定 DLTHREADSPREPARE 設定,所以準備階段為單一執行緒。