top of page

Dynamics CRM 2011 Quick Optimization Guide

This article is from Technet, url in the end of the post

Dynamics CRM 2011 Quick Optimization Guide

I’ve put together a high-level list of optimizations for dynamics CRM to centralise information for myself, and thought sharing would be helpful for someone, I’ll keep this list updated as I find more information., PLEASE ADD more optimizations tips & tricks to this article.


The number of authentication request’s and authentication challenges takes valuable seconds deteriorating performance.

  1. Application Pool Kernel Mode authentication enabled

  2. Enable Kerberos

  3. Enable useAppPoolCredentials

  4. Enable authPersistNonNTLM



  1. AppPool Recycling

  2. Configure to recycle after hours.

  1. WCF Compression – enable compression for the content-type: application/soap+xml; charset=utf8 this content type is used by the Outlook client HTTP requests. Compressing this traffic reduces network traffic and improves communication.

  2. Enable Dynamic Compression

CRM Registry Keys

A number of tweaks can be done on the CRM side to improve performance.

  1. You can control the size of the Workflow table by deleting completed Workflows with a registry key, this is a nice way to improve performance on the database side, however this can only be applied if you don’t need the workflow history.

  2. Name: AsyncRemoveCompletedWorkflows

  3. Type: DWORD

  4. Value: 1

  5. Improve SQL Performance EnableRetrieveMultiple

  6. Type: DWORD

  7. Value: 2 (Decimal)

  8. Fixes a number of issues around the SQL tempdb database and improves performance

With Microsoft Dynamics CRM 2011 Update Rollup 10 or later, having the HKLMSoftwareMicrosoftMSCRMEnableRetrieveMulitiple Optimization set to 0 can often give better performance than having it set to a value of 2. – “Update Rollup 10 for Microsoft Dynamics CRM 2011 is available” See this for more detailed information: Update Rollup 10 includes performance improvements for retrieving multiple queries and for Quick Find. For more information, see the “Optimizing the Performance of Queries against Large Datasets” and “Optimizing the Performance of Quick Find Queries” sections of the Optimizing and Maintaining the Performance of a Microsoft Dynamics CRM 2011 Server Infrastructure white paper. To download this white paper, go to the following Microsoft Download Center website: Optimizing and Maintaining the Performance of a Microsoft Dynamics CRM 2011 Server Infrastructure –

  1. Disable the email pop-up reminder to speed up load times

  2. Name: DisablePendingEmailReminder

  3. Type: DWORD

  4. Value: 1

  5. Set a preferred Domain Controller to speed up AD checks

  6. Name: PreferredDC

  7. Type: String

  8. Value: DC_Name

There are a number of registry keys targeting different types of performance issues and types of environments, Microsoft is now releasing with each update Roll Up a package named:’tools’.This package contains a tool that can implement a number of updates/optimizations which were previously reserved for registry implementations, this way makes it easier to enable optimizations centrally and avoid creating registry keys across multiple front-end servers. e.g number of registry keys part of RU6

  1. DisableSmartMatching

  2. Default Value – False

  3. AutoCreateContactOnPromote

  4. Default Value – True

  5. BackgroundSendBatchFile

  6. Default Value – 10

  7. DisableInactiveRecordFilterForMailMerge

  8. Default Value – False

  9. LookupNameMatchesDuringImport

  10. Default Value – False

  11. EnableRetrieveMultipleOptimization

  12. Default Value – 1

  13. DoNotIgnoreInternalEmailToQueues

  14. Default Value – False

  15. SkipSuffixOnKBArticles

  16. Default Value – False

  17. SkipGettingRecordCountForPaging

  18. Default Value – False


  1. CRM Indexes with DMVs

  2. Optimizing CRM built-in maintenance jobs with Indexes

  3. CRM SQL Maintenance jobs

  4. Max parallelism set to 1

  5. Enable Lock Pages in memory forcing SQL queries to run using physical memory

  6. Enable Read Committed Snapshot isolation to avoid deadlocks

  7. Maintenance of the Workflow Table AsyncOperationBase

  8. Maintenance of the Principal Object table PrincipalObjectAccess

  9. SQL Deadlocks article

Outlook Client

  1. Outlook client optimization

  2. Registry Keys

  3. Increase the CRM Sync options, this depends on your environment.Settings > Email

  4. Promote emails

  5. Syncronization

  6. Manage Outlook filters

  7. Disable cached pinned-views with a registry key on the client side

  8. Name: DisableMapiCaching

  9. Type: DWORD

  10. Value: 1

Note: Make sure you enable IIS WCF compression from point 2. IIS

Internet Explorer

  1. Ensure CRM url is added to the local intranet zone

  2. Authentication Options

  3. AutoLogon

  4. Windows Integrated Authentication

  5. Reset Zoom level for new windows and tabs

  6. Disk space for temporary internet files

  7. 250MB

  8. Increase IE connections to the server with Registry Keys

Email Router

  1. Installing email router on multiple servers

  2. Load Balance Email router

  3. Scalling Email router with Business Units

  4. – Email router scalability and availability

  5. Reduce the configuration update period

  6. Open the Microsoft.Crm.Tools.EmailAgent.xml in notepad and edit the following line to 86400000 this will set the email router to update the user list once a day, this is important if you have a large number of users in your environment.

  7. <configupdateperiod>86400000</configupdateperiod>

  8. Increase the number of emails to process on each batch

  9. On the same file as above you need to add an extra section to override some of the settings, this will stay included on the <systemconfiguration> section:</systemconfiguration>

  10. <provideroverrides>

  11. <cachecapacity>1024 </cachecapacity>

  12. <pendingstatusdelay>300000 </pendingstatusdelay>

  13. <sendingstatusdelay>1800000 </sendingstatusdelay>

  14. <maximumdeliveryattempts>10 </maximumdeliveryattempts>

  15. <retrievemessagecount>10 </retrievemessagecount>

  16. <batchsize>50 </batchsize>

  17. <requestbatchsize>50 </requestbatchsize>

  18. </provideroverrides>

  19. for more information on how to use <proveroverrides> </proveroverrides> go to:

If you have more than 5000 users in your environment you will need to increase email router limits on how many users to load from CRM by setting MaxRowsPerPage on the front-end server:

  1. Name: MaxRowsPerPage

  2. Type: DWORD

  3. Value: Number_of_rows (Decimal)


Use SSIS to monitor pending emails


  1. Optimizing and Maintaining the Performance of a Microsoft Dynamics CRM 2011 Server Infrastructure.

  2. Optimizing and Maintaining Client Performance for Microsoft Dynamics CRM 2011 and CRM Online.

  3. Security and Authentication in Microsoft Dynamics CRM: Connectivity and Firewall Port Requirements in On-Premise Deployments.

  4. Security and Authentication in Microsoft Dynamics CRM: The Microsoft Dynamics CRM Security Model.

  1. Outlook Synchronization in Microsoft Dynamics CRM 4.0.

  2. Offline and Online Synchronization in Microsoft Dynamics CRM.

  3. Sharing Data across Microsoft Dynamics CRM Deployments.

  4. Optimizing and Maintaining Microsoft Dynamics CRM 4.0.

  5. How to configure the Microsoft Dynamics CRM on-premises and Microsoft Dynamics CRM Online E-mail Router in different deployment scenarios.

  6. Deploying Microsoft Dynamics CRM 2011 and CRM Online Solutions from Development through Test and Production Environments.

From Technet:

1 view0 comments

Recent Posts

See All

CRM 365 - Customer field only show Accounts

On a customer field, if the requirement is to only show Accounts, please add this line to the OnLoad of the form: //Show only Account records when selecting the Customer formContext.getControl("cu

Execute Workflow Request on CRM 365 Cloud

Please find below an example of calling the Execute method to run a workflow on CRM 365 Cloud. let Id ='{', '').replace('}', ''); let request =


bottom of page