[FIM-TROUBLESHOOTING] FIM Service Management Agent Export is Slow

[FIM-TROUBLESHOOTING] FIM Service Management Agent Export is Slow

Issue: Export on the FIM MA completes successfully, but only after several hours.  The objects to be updated were all EREs, and there was around 2,000 updates total. 

Troubleshooting: SQL Profiler trace during export revealed the EVALUATENEWREQUESTS high level proc was consuming most of the SQL resources during the export.  ​

SELECT DISTINCT
[statement].[StatementKey] AS N'StatementKey',
           
[SetX].[ObjectKey] AS N'ObjectKey',
           
[SetX].[ObjectTypeKey] AS N'ObjectTypeKey'
       
 INTO #calculateRequestDereferencedSetTransitions_DereferencedSet
       
FROM [fim].[ObjectValueReference] AS [SetX]
        
INNER JOIN [fim].[MembershipConditionStatement] AS [statement]
          
ON [SetX].[ObjectKey] = [statement].[DereferencedValueObjectKey]
       
INNER JOIN [fim].[MembershipCondition_x_MembershipConditionStatement] AS [membershipCondition]
           
ON [statement].[StatementKey] = [membershipCondition].[StatementKey]
         
INNER JOIN [fim].[SetMembershipCondition] AS [setMembershipCondition]
             
ON [membershipCondition].[MembershipConditionKey] = [setMembershipCondition].[MembershipConditionKey]
         
ORDER BY
         
 [statement].[StatementKey],
         
[SetX].[ObjectKey],
         
[SetX].[ObjectTypeKey];

 in particular, the "order by" section makes this query very resource intensive, since, in this case, it was sorting around 4,000,000 records.

Resolution:  The resolution was two-fold.  The customer increased the RAM in the SQL server from 48 GB to 64 GB, and saw a performance improvement.  Additionally, the customer was on an older FIM Version (4.0.3561.2).  Since version 4.0.3573.2 rollup includes the added feature of asynchronous export, as well as asynchronous request evaluation (http://support.microsoft.com/kb/2417774?wa=wsignin1.0) We expect to see improved performance by upgrading to the latest version of FIM 2010 (4.0.3644).

Below is a snippet from the linked KB above, with verbiage directly addressing the issue.

The hotfix adds support for an asynchronous request evaluation mode for requests that are created by the synchronization engine account. When the new mode is enabled, the FIM MA provides a preliminary response to the synchronization engine for the export operation. This happens as soon as the request is created but before it is evaluated by the FIM Service. The request is queued in the FIM service for full evaluation through a set of worker threads in an asynchronous manner. At the same time, the synchronization engine feeds additional requests for export into the FIM MA. When the requests are being processed by the FIM Service, they are left in Escrow state until the FIM service can confirm their processing status. Asynchronous request processing is available only for requests that are generated by the FIM MA. All other requests continue to be executed through the regular process. “

Leave a Comment
  • Please add 1 and 6 and type the answer here:
  • Post
Wiki - Revision Comment List(Revision Comment)
Sort by: Published Date | Most Recent | Most Useful
Comments
  • Richard Mueller edited Original. Comment: modified title casing, added language tag

Page 1 of 1 (1 items)
Wikis - Comment List
Sort by: Published Date | Most Recent | Most Useful
Posting comments is temporarily disabled until 10:00am PST on Saturday, December 14th. Thank you for your patience.
Comments
  • Richard Mueller edited Original. Comment: modified title casing, added language tag

Page 1 of 1 (1 items)