ConfigMgr 2012 R2: Collection Evaluation Overview.

Today we are going to see Collection evaluation Overview in ConfigMgr 2012 R2.

As we know in ConfigMgr 2007, the collection evaluation happens in all the Sites including Central Primary and All Child Primaries.

But in ConfigMgr 2012, we don't have Collection Evaluator thread in Central Administration site. Instead the evaluation happens on all the Primary Sites.

Coming to the evaluation schedule. There are three types of schedule.

Primary Evaluation:

Primary Evaluation stands for Full Collection update which runs based on schedule. There are eight default collections in ConfigMgr 2012.

The above collections are not configurable and it will be root for all collections directly or indirectly we create in ConfigMgr.

In 2007, Limiting Collections are optional. However in ConfigMgr 2012, we cannot create any collection without having a Limiting Collection.

The above collections are not configurable and all options in these collections will be greyed out. But how the collection update happens.

By default All Systems and All Users and groups collections are scheduled to do Full Evaluation Every day 4:00 AM and Enabled with Incremental Collection Evaluation.

Primary Evaluator prepares a Graph with all its Dependent collections for evaluation. For preparing the Graph it uses the below SQL statement to get the number of collections to be evaluated.

SELECT ImmediateSourceCollectionID, DependentCollectionID FROM vCollectionDependencyChain WHERE SourceCollectionID = N'SMS00001' ORDER BY [Level] ASC

Since ConfigMgr 2012, all the collections should be dependent on All Systems or All users and Groups directly or indirectly, each collection in ConfigMgr hierarchy will be doing a Full collection Evaluation at 4:00 AM Every Day, if there is any change in these Root Collection.

Express Evaluation:

Express Evaluation stands for Incremental Collection Update. This is also based on schedule. This is a Site wide option and is configurable. Default value is every 10 mins. You can change this option from ConfigMgr console.

Administration -> Site Configuration -> Sites -> Primary Site -> Configure Site Components -> Collection Membership Evaluation.

Like Full collection update, this also prepares a graph of all dependent collections and triggers update if there is any change in the depending collection (parent).

One thing we need to consider while enabling the Incremental Evaluation. It is not mandatory to enable Incremental Evaluation on all the collections. If the number of collections on the site is more and all collections are running Incremental Evaluation, the number of evaluations per day will be high and it may reduce the performance of the Site and SQL.
For example, consider a Site with 1000 collections and all are enabled with Incremental Evaluation runs every 10 Mins. It will be ((24*60)/10) *(1000) = 144000 Collection Evaluations Per day, which is way higher and reduce the performance.

Another thing we need to remember while configuring collection is, if the Parent Collection is not enabled with Incremental Evaluation and a child collection is enabled, we will not get the desired object in the collection until the parent collection completes full evaluation or manual update. So plan accordingly.

Manual Collection Update:  

This will be triggered when we click Update Membership on a collection. Manual update happens in two different types. Auxilary Evaluation and Single Evaluation.
 
Auxiliary Evaluation runs when we trigger a manual collection update on a collection which has dependent collections. Like Full collection update, this also prepares a graph of all dependent collections and triggers update if there is any change in the depending collection (parent).
 
Single Evaluation runs when we trigger manual update on a collection which doesn't have any dependent collections. 

 

Hope this helps.

Senthilkumar Pandurangan

Support Escalation Engineer | Microsoft System Center Configuration Manager

 

Disclaimer: This posting is provided "AS IS" with no warranties and confers no rights

Comments

  • Anonymous
    January 01, 2003
    These are the types of posts I can get behind! Great detail of undocumented processes - greatly helps design and make most efficient use of resources! Thanks from Canada, Senthil!
  • Anonymous
    January 01, 2003
    Nice Information. Would love if you include the 'limiting' part and scenarios too :)
  • Anonymous
    January 01, 2003
    [Quote]Since ConfigMgr 2012, all the collections should be dependent on All Systems or All users and Groups directly or indirectly, each collection in ConfigMgr hierarchy will be doing a Full collection Evaluation at 4:00 AM Every Day, if there is any change in these Root Collection.[/Quote]

    Everyday at 4am, really ?? For me, it's everyday, every hour. Let me say that evaluating 1000+ collections every hour is overkill and I can't find what trigger this.

    I'm seeing this every hour and take 20-25 min to process :
    PF: Start to process graph with 1047 collections in [Primary Evaluator] thread
    PF: Start to process graph with 1048 collections in [Primary Evaluator] thread
    PF: Start to process graph with 1020 collections in [Primary Evaluator] thread
  • Anonymous
    June 08, 2014
    Thanks
  • Anonymous
    August 06, 2014
    Very useful information. Thanks!
  • Anonymous
    February 13, 2015
    Today we are going to see about the relation between Collection Evaluation and TempDb in SQL. Before
  • Anonymous
    March 20, 2015
    Nice way of explanation short and good
  • Anonymous
    June 28, 2015
    is that possible to turn off that Full collection Evaluation on ALL my collection......i want to fix it by my self with update membership every tuesday for exemple.....not everyday at 4am !
  • Anonymous
    October 09, 2015
    I was recently working with a customer with a large number of collections set for incremental evaluation
  • Anonymous
    February 29, 2016
    Good!. Nice Article
  • Anonymous
    September 12, 2016
    One important thing I learnt here is if I manually update a parent collection, I don't need to update child collections(which are dependent on parent) manually. Am I correct??
  • Anonymous
    October 13, 2016
    Is it possible to see from some databsae tables if there is a pending evaluation for a collection in the "Manual Update" queue shown in CEViewer? This information would be very valuable for me to avoid unnecessary "Update membership" triggers from an automated process for collections pending for evaluation
  • Anonymous
    January 06, 2017
    Also thanks to this useful post from France !
  • Anonymous
    January 31, 2017
    Thanks, great contentI don't understand when you write for Express Update "Like Full collection update, this also prepares a graph of all dependent collections and triggers update if there is any change in the depending collection (parent).". If this was always true, all collections should always be refreshed since AllSystems is both Incremental and directly or indirectly ancestor of all collections... Am I missing something ?Regards from Paris