Configuration Manager中集合的最佳做法

適用於:Configuration Manager (目前的分支)

某些集合管理指引可能互相自變。 例如,基於效能考慮,您應該限制經常更新的集合數目。 但經常更新集合很方便,因為大部分的Configuration Manager功能都取決於集合。 當您設計和設定集合和集合評估時,請仔細考慮效能影響和商務需求。

針對 Configuration Manager 中的集合使用下列最佳做法。

設定更新的維護期間

您可以設定裝置集合的維護期間,以限制Configuration Manager在這些裝置上安裝軟體的時間。 如果您將維護期間設定為太小,用戶端可能不會安裝重要的軟體更新。 此狀態會讓用戶端容易受到更新降低的問題影響。

規劃維護時段時要牢記的重要考慮:

  • 預設軟體更新執行時間上限為 60 分鐘。
  • 當Configuration Manager計算更新是否可以安裝時,它會將執行時間上限增加五分鐘,以考慮重新開機。
  • 維護期間的剩餘持續時間必須超過軟體更新的最大執行時間加上五分鐘。

避免頻繁的集合評估

完整集合評估不僅會評估目標集合,也會評估集合在發生更新時限制的任何集合。 此外,如果沒有排程的集合在限制集合更新時仍會進行評估。 因此,某些集合的評估頻率可能會比您預期的還要高。

在忙碌Configuration Manager環境中,您可以調整回排程來改善集合評估效能,以避免重複的集合評估。 在深層樹狀結構中,您可以減少集合評估頻率,因為集合會在樹狀結構中更深入地遞減,因為較高層級的集合評估也會觸發較低層級的集合評估。

瞭解集合評估圖表

請注意集合評估圖表的運作方式,以便設計適當的集合結構。 請勿依賴完整集合評估一律更新所有集合。 如果依排程累加更新集合更新,則參考未啟用增量更新的集合可能不會更新。 由於更新可能會在累加式評估期間發生,因此完整評估可能不會更新集合,從而結束該週期的集合評估圖表。 在此情況下,不會發生任何參考集合評估。 如需詳細資訊,請參閱 集合評估圖表

限制累加式更新

為許多集合啟用累加式更新可能會導致評估延遲。 最好將累加更新的集合數目限制為 200 個。 確切數位取決於:

  • 集合總數
  • 階層中新增和變更新資源的頻率
  • 階層中的用戶端數目
  • 階層中集合成員資格規則的複雜度

如果累加式評估週期所花費的時間超過設定的更新頻率,則Configuration Manager會持續處理集合評估,這可能會影響系統效能。 減少累加更新的集合數目,或增加累加式評估週期之間的時間。

考慮到增量集合的潛在影響,請務必有建立集合及指派更新排程的原則或程式。 原則考慮的範例可能是:

  • 僅針對用於安全性範圍設定、用戶端設定和維護時段的集合使用累加式更新。 這些集合更新會影響用戶端行為和對資源的存取。
  • 對於沒有授權核准的應用程式,將應用程式公告至現有的集合,並使用全域條件來限制可用性。
  • 概述已排程完整集合更新之其他集合的適當期間。

避免從 CAS 評估大型樹狀結構

在Configuration Manager環境中,管理中心網站 (CAS) 不會評估集合成員資格。 主要月臺是唯一評估集合的網站。 次要月臺會作為 Proxy,只使用從其主要月臺複寫的資料。

為了要求集合更新,CAS 會將要求傳送至每個主要月臺。 主要月臺會評估集合,並將結果傳回 CAS。 集合評估結果只會在所有集合評估指示覆寫到所有網站、所有網站評估所有集合,而且所有資料都傳回 CAS 併合並之後才會出現。

下圖示范 CAS 要求手動收集更新時的流程:

從 CAS 手動收集更新

從具有多個主要月臺的 CAS 更新集合可能會很耗時。 如果集合未及時評估,則很想要重複要求。

集合評估執行緒開始並載入評估圖表之後,評估會繼續進行,直到集合評估圖表是空的為止。 執行緒接著會終止,並變成可供下一次評估使用。 不過,如果執行緒正在評估集合時,另一個集合評估週期佇列,執行緒會立即重新開機,以嘗試評估「遺漏」迴圈。

每個評估方法都會在自己的執行緒中執行。 線上程內,Configuration Manager可能會嘗試多次繪製相同集合的圖形。 Configuration Manager然後卸載第二個和更新版本的要求。

若要避免這些案例,請避免手動收集大型樹狀結構的評估,特別是從具有多個網站的 CAS 運作時。

考慮集合深度和交叉參考

若要在商務需求和效能之間取得平衡,請務必瞭解您所建立的集合結構,以及其與其他集合的相依性。 如果您使用參考一或多個也參考其他集合之集合的規則來建立集合,則會評估所有這些集合以建立集合的成員資格。

中包含和排除集合規則Configuration Manager讓參考集合比撰寫自訂 WQL 查詢更容易。 不過,如果使用 include 和 exclude 集合會導致高效能付費,您可以改用 WQL 查詢方法。 使用下列範例查詢,並將範例集合識別碼 XYZ0003F 取代為您想要包含或排除之集合的識別碼。

包括:

Select * from SMS_R_System where SMS_R_System.ResourceId in (select ResourceID from SMS_CM_RES_COLL_XYZ0003F)

排除:

Select * from SMS_R_System where SMS_R_System.ResourceId not in (select ResourceID from SMS_CM_RES_COLL_XYZ0003F)

使用 CEViewer 監視集合評估

您可以使用 集合評估檢視器 (CEViewer) 來監視正在評估的集合數目,以及每個集合更新所需的時間。 CEViewer 位於月臺伺服器的 CD.Latest 資料夾中。

提示

從 Configuration Manager 2010 版開始,此功能已內建至主控台。 如需詳細資訊,請參閱 如何檢視集合評估

若要使用 SQL 手動執行類似的檢查,您可以使用下列查詢:

SELECT [t2].[CollectionName], [t2].[SiteID], [t2].[value] AS [Seconds], [t2].[LastIncrementalRefreshTime], [t2].[IncrementalMemberChanges] AS [IncChanges], [t2].[LastMemberChangeTime] AS [MemberChangeTime]
FROM (
    SELECT [t0].[CollectionName], [t0].[SiteID], DATEDIFF(Millisecond, [t1].[IncrementalEvaluationStartTime], [t1].[LastIncrementalRefreshTime]) * 0.001 AS [value], [t1].[LastIncrementalRefreshTime], [t1].[IncrementalMemberChanges], [t1].[LastMemberChangeTime], [t1].[IncrementalEvaluationStartTime], v1.[RefreshType]
    FROM [dbo].[Collections_G] AS [t0]
    INNER JOIN [dbo].[Collections_L] AS [t1] ON [t0].[CollectionID] = [t1].[CollectionID]
    inner join v_Collection v1 on [t0].[siteid] = v1.CollectionID
    ) AS [t2]
WHERE ([t2].[IncrementalEvaluationStartTime] IS NOT NULL) AND ([t2].[LastIncrementalRefreshTime] IS NOT NULL) and (refreshtype='4' or refreshtype='6')
ORDER BY [t2].[value] DESC