提升總體規劃效能
本文說明能夠改善主計劃效能,或是疑難排解問題的各種選項。 包括參數和設定的資訊,以及推薦的設定和動作。 還包括所有重要參數的摘要,當您擁有長期執行的主計劃作業時,應納入考量。
本文適用於具有疑難排解能力的系統管理員或 IT 使用者。 也適用於生產或供應計劃人員,因為包含與業務計劃要求相關的參數資訊。
主計劃效能相關的參數
各種參數會影響主計劃的執行時間,應納入考量。
執行緒數目
執行緒數目參數,允許您調整總排程程序,以幫助提高特定資料集的效能。 此參數指定將用於執行主計劃的執行緒總數。 這會導致主計劃平行執行,有助於減少執行時間。
您可以在主規劃執行對話方塊中設定執行緒數目參數。 如欲開啟此對話方塊,請前往總體規劃 > 總體規劃 > 執行 > 總體規劃,或選擇總體規劃工作區中的執行。 若要決定此參數的最佳參數,您必須倚靠反覆嘗試和錯誤的方法。 但是,您可以使用以下公式來計算初始值:
- 如果您的行業是製造業: (線程數)=(計劃訂單數÷ 1,000)
- 否則: (線程數)=(項目數÷ 1,000)
主計劃期間使用的協助程式數量,必須小於或等於批次伺服器上允許的最大執行緒數量。 如果協助程式的數量超過批次伺服器上的執行緒數量,則額外的執行緒將不會做任何工作。
附註
將執行緒數目參數設定為 0 (零),以增加主計劃執行時間。 因此,我們建議您一律將值設定為大於 0。
協助程式工作組合中的工作數量
通過變更工作組合的工作數量設定 (即搭售方案的大小),您也可以減少執行時間。 此設定控制單一協助程式一起計劃的品項數量。
您可以在總體規劃參數頁面的一般索引標籤,效能部分中設定工作組合的工作數量參數 (主計劃 > 設定 > 總體規劃參數)。 此參數的最佳值根據您的資料而定。 因此,我們建議您從 1 值開始,然後透過反覆嘗試和錯誤的方法,以決定設定的最佳值。
一般來說,我們建議您在品項數量非常大 (數十萬) 時增加工作數量。 否則,您應該減少工作數量。 對於下列特定產業,請考慮以下建議:
- 在有許多獨立項目的零售和經銷產業中,使用許多協助程式,因為項目之間沒有相依性。
- 在製造業中,因為有許多物料清單 (BOM) 和共享子組,盡量較少使用協助程式,因為項目之間的相依性可能會導致等待時間。
提示
如果您有效能問題,我們建議您減少工作搭售方案的協助程式數量,將其設定為 1。 然後,您可以開始反覆嘗試和失敗的過程,為您的設定找到最佳值。 通常,當一個項目的處理時間比處理其餘項目的時間長時,就會出現效能問題。 在這種情況下,您將看到後續兩個任務在主計劃中的狀態為涵蓋範圍,但是執行時間明顯不同。 極端情況下,可能相差長達 30 分鐘。 您可以通過查看每個任務的持續時間來推斷執行工作所需的時間。
使用快取
使用快取參數,允許您調整總排程程序,以幫助改善特定資料集的效能。 例如,您可以對其進行調整以達到下列結果:
- 如果擁有越多快取,則會在記憶體中收集更多資料。 預期資料會於稍後再次使用。 如果資料是在記憶體中,您可能會儲存一些資料庫請求。 但是,如果有更多的快取,記憶體需求就會增加。
- 如果快取較少,則可能需要更頻繁的從資料庫中獲取相同的資料。 此外,應用程式對象伺服器 (AOS) 在整個過程中儲存的資料很少。
很難預測哪一種選項會更好,因為每種情況不僅根據資料,還取決於硬體。 例如,由於較少的快取會導致資料庫伺服器上的額外負載,因此如果您的資料庫伺服器已經超載,則不應使用該選項。
您可以在總體規劃參數頁面的一般索引標籤,效能部分中設定使用快取參數 (主計劃 > 設定 > 總體規劃參數)。 快取的效率很大程度上取決於客戶的資料。 例如,如果從來不需要快取資料,則執照排程處理結束之前,儲存資料只是浪費記憶體而以。 在這種情況下,如果您設定較少的快取,則性能可能會提升,因為 AOS 需要較少的記憶體,並且會釋放伺服器資源用於其他工作。
提示
一般情況下,我們建議您將使用快取參數設定為最大值,因為該參數的功能是加強效能。 如果您是執行內部部署,並且記憶體有限,我們建議您將參數設定為最小值 (大約 2 GB)。
確認套件組合中的訂單數
確認組合中的數量或訂單參數指定每個執行緒/批次一次處理的訂單總數。 自動確認過程會導致平行執行。
您可以在總體規劃參數頁面的一般索引標籤,效能部分中設定確認組合中的數量或訂單參數 (主計劃 > 設定 > 總體規劃參數)。 自動確認過程的平行執行,是根據必須一起處理的訂單而定。 例如,如果此參數設定為 50,每個執行緒或批次工作將一次提取 50 個訂單並一起處理。 我們建議您使用反覆嘗試和錯誤的方法,以找到最佳值。 但是,您可以使用以下公式來計算初始值:
(每個搭售方案的訂單數量) = (需求項目數量 ÷ 執行緒數目)
附註
如果您將確認搭售方案中的訂單數量參數設定為 0 (零),則不會發生自動確認過程的平行執行。 整個過程將於單一批次工作上執行,並且會累積執行時間。 因此,您的主計劃執行時間將會增加。 因此,我們建議您將此參數設定為大於 0 (零)。
時間範圍
時間範圍指定主計劃必須計算未來多長時間內的計算和其他要求。 如果時間範圍越大,主計劃執行的時間就會越長。 因此,請根據您的業務需求設定時間範圍。 如需時間範圍的詳細資訊,請參閱主計劃概覽。
動作
在時間範圍中,您還可以找到動作訊息參數。 計算動作訊息可能會導致總體規劃執行時間更長。 如果沒有定期分析和套用動作訊息 (每天、每周等),請考慮在總體規劃運行期間關閉計算。 若要關閉計算,在主計劃頁面 (總體規劃 > 設定 > 計劃 > 主計劃),將動作訊息時間範圍設定為 0 (零)。 同時,確保所有涵蓋範圍群組的動作訊息設定都已關閉。
未來
計算未來可能會導致主計劃執行時間更長。 如果您沒有計劃 BOM,或是計劃期間不必將延遲從供應散播至需求,請考慮在主計劃期間關閉未來計算。 若要關閉計算,請將正在執行的主計劃中未來時間範圍設定為 0 (零)。 同時,確保所有涵蓋群組的未來設定都已關閉。
一次一項繁重的例行程式
當您安排主計劃時,不要同時安排其他任何批次作業。 請特別注意不要同時安排其他任何繁重的例行程式,例如:庫存結算。
查看工作階段記錄
系統能夠收集主計劃期間執行工作的其他資訊。 若要系統收集此信息,請開啟主規劃執行對話方塊中追蹤處理時間的設定。 收集的資訊可以協助您找到執行中的瓶頸。 例如,當協助程式工作組合中的工作數量參數設定為 1 時,您可以識別出執行時間最長的項目。 您還可以比較狀態為涵蓋範圍的不同執行緒的執行時間,並比較每個工作的持續時間。
若要查看系統的主計劃執行,請執行以下步驟之一。
- 在總體規劃工作區中,從下拉式欄位中選擇一個主計劃,然後在總體規劃圖格中,選擇歷程記錄。 選擇一項作業,選擇 FastTab 上的查詢,然後選擇處理工作持續時間。
- 在主計劃頁面上,在左側窗格中選擇一個計劃,然後選擇 FastTab 上的歷程記錄。 選擇一項作業,選擇 FastTab 上的查詢,然後選擇處理工作持續時間。
當您查看工作階段記錄時,請考慮下列事項:
- 更新 不應花費很長時間 (通常,最多需要 30 分鐘),但是,它是單線程的。
- 複製計劃 不應花費很長時間 (大約需要一分鐘)。
- 自動緊致 通常需要大約 30 分鐘。 但是,這可能需要幾個小時,具體取決於訂單數量和項目的複雜程度。
- 自動確認 應該比 保險花費更少的時間。
- 相對於其餘部分,覆蓋範圍 應花費最長的時間。
- 操作 和 未來消息 可能需要很長時間,具體取決於數據和 BOM 的數量。
篩選項目
主規劃執行對話方塊中應用的篩選條件,會影響總體規劃執行的持續時間。 前往總體規劃 > 總體規劃 > 執行 > 總體規劃,或選擇總體規劃工作區中的執行。 若要從執行中排除項目,我們建議您根據項目的生命週期狀態 (而不是品項編號) 進行篩選。 當您根據生命週期狀態進行篩選時,更新過程將比根據品項編號篩選條件花費更少的時間。
按具有直接需求的品項自動篩選
若要改善總體規劃執行時間,您可以選擇僅包括具有直接需求的項目。 此篩選條件只能用於完整的總體規劃執行,而在要包括的記錄欄位中沒有應用其他篩選條件。 有篩選條件的總體規劃執行將忽略按具有直接需求的品項自動篩選設定。
按具有直接需求的品項自動篩選欄位可從總體規劃參數頁面中找到,並且可以與前置處理和後處理設定一起使用。
前置處理
前置處理:按具有直接需求的品項自動篩選,確保前置處理階段的主計劃,僅包括滿足下列至少一項條件的項目:
- 項目具有預期的收貨或發貨,例如訂購單、銷售訂單、報價單、轉移訂單或生產訂單。
- 該品項涵蓋安全庫存 (最低現有庫存)。
- 該項目的需求預測是今天之後。
- 該項目的供應預測是今天之後。
- 該項目包括任何連續性的行,來自尚未建立的呼叫中心模組。
附註
實際可用的現有庫存項目不會顯示需求交易記錄,因為沒有對該項目的需求。
後續處理
後處理:按具有直接需求的品項自動篩選選項,僅在您於涵蓋群組內設定 BOM 版本要求才會相關。 否則,您無須啟用該參數。
涵蓋範圍步驟開始之前,有一個前置涵蓋範圍步驟,在此期間啟用涵蓋範圍設定的 BOM 版本要求的項目將進行重新處理。 這樣做是為了確保對所需的 BOM 版本項目進行計劃。 前置處理期間被認為有需求的項目不會再有任何需求,因此應從計劃執行中排除。
效能檢查清單摘要
- 線程 數–設置為大於 0 (零)的值。
- 説明程式工作分發包 中的任務數–設置為大於 0 (零)的值。 (使用本文前面提供的公式。)
- 緩存 的使用– 設置為最大 值,除非您的系統記憶體不足。
- 確認搭售方案 中的訂單數–設置為大於 0 (零)的值。 (使用本文前面提供的公式。)
- 時限 –調整您的業務需求。
- 操作和未來 –如果不使用操作和未來,請禁用它們。
- 一次 一個繁重的例程–不要將總體規劃與任何其他繁重的例程一起運行。
- 查看會話日誌。
- 篩選物料 –使用生命週期狀態從主規劃運行中排除物料。 (不要使用品項編號。)