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.
- Authentication
- IIS
- CRM Registry Keys
- Database
- Outlook Client
- Internet Explorer
- Email Router
- Monitoring
- Resources
1. Authentication
The number of authentication request's and authentication challenges takes valuable seconds deteriorating performance.- Application Pool Kernel Mode authentication enabled
- Enable Kerberos
- http://quantusdynamics.blogspot.co.uk/2011/12/extreme-performance-with-dynamics-crm.html
- Enable useAppPoolCredentials
- Enable authPersistNonNTLM
- [PFE] - SPN confguration SpreadSheet
2. IIS
- AppPool Recycling
- Configure to recycle after hours.
- 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.
- Enable Dynamic Compression
3. CRM Registry Keys
A number of tweaks can be done on the CRM side to improve performance.
- 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.
- Name: AsyncRemoveCompletedWorkflows
- Type: DWORD
- Value: 1
- Improve SQL Performance EnableRetrieveMultiple
- Type: DWORD
- Value: 2 (Decimal)
- Fixes a number of issues around the SQL tempdb database and improves performance
- http://support.microsoft.com/kb/2535245
- Note that with RU10 the suggested default option is 0 read more on the [1] resource document optimizing and maintaining performance.
- Disable the email pop-up reminder to speed up load times
- Name: DisablePendingEmailReminder
- Type: DWORD
- Value: 1
- Set a preferred Domain Controller to speed up AD checks
- Name: PreferredDC
- Type: String
- 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.
http://support.microsoft.com/kb/2691237
e.g number of registry keys part of RU6
http://support.microsoft.com/kb/2691237
e.g number of registry keys part of RU6
- DisableSmartMatching
- Default Value – False
- AutoCreateContactOnPromote
- Default Value - True
- BackgroundSendBatchFile
- Default Value – 10
- DisableInactiveRecordFilterForMailMerge
- Default Value - False
- LookupNameMatchesDuringImport
- Default Value - False
- EnableRetrieveMultipleOptimization
- Default Value - 1
- DoNotIgnoreInternalEmailToQueues
- Default Value - False
- SkipSuffixOnKBArticles
- Default Value - False
- SkipGettingRecordCountForPaging
- Default Value – False
4. Database
- CRM Indexes with DMVs
- CRM SQL Maintenance jobs
- Optimizing CRM built-in maintenance jobs with Indexes
- Max parallelism set to 1
- Enable Lock Pages in memory forcing SQL queries to run using physical memory
- Enable Read Committed Snapshot isolation to avoid deadlocks
- http://www.microsoft.com/en-us/download/details.aspx?id=24923
- http://technet.microsoft.com/en-us/library/ms345124.aspx
- Maintenance of the Workflow Table AsyncOperationBase
- Maintenance of the Principal Object table PrincipalObjectAccess
- SQL Deadlocks article
5. Outlook Client
- Outlook client optimization
- Registry Keys
- Increase the CRM Sync options, this depends on your environment.Settings > Email
- Promote emails
- Syncronization
- Manage Outlook filters
- Disable cached pinned-views with a registry key on the client side
- Name: DisableMapiCaching
- Type: DWORD
- Value: 1
Note: Make sure you enable IIS WCF compression from point 2. IIS
6. Internet Explorer
- Ensure CRM url is added to the local intranet zone
- Authentication Options
- AutoLogon
- Windows Integrated Authentication
- Reset Zoom level for new windows and tabs
- Disk space for temporary internet files
- 250MB
- Increase IE connections to the server with Registry Keys
7. Email Router
- Installing email router on multiple servers
- Load Balance Email router
- Scalling Email router with Business Units
- [PFE] - Email router scalability and availability
- Reduce the configuration update period
- 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.
- <configupdateperiod>86400000</configupdateperiod>
- Increase the number of emails to process on each batch
- 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>
- <provideroverrides>
- <cachecapacity>1024 </cachecapacity>
- <pendingstatusdelay>300000 </pendingstatusdelay>
- <sendingstatusdelay>1800000 </sendingstatusdelay>
- <maximumdeliveryattempts>10 </maximumdeliveryattempts>
- <retrievemessagecount>10 </retrievemessagecount>
- <batchsize>50 </batchsize>
- <requestbatchsize>50 </requestbatchsize>
- </provideroverrides>
- Name: MaxRowsPerPage
- Type: DWORD
- Value: Number_of_rows (Decimal)
8. Monitoring
- Use SSIS to monitor pending emails
8. Resources
- [CRM 2011] Optimizing and Maintaining the Performance of a Microsoft Dynamics CRM 2011 Server Infrastructure. http://www.microsoft.com/en-us/download/details.aspx?id=27139
- [CRM 2011] Optimizing and Maintaining Client Performance for Microsoft Dynamics CRM 2011 and CRM Online. http://www.microsoft.com/en-us/download/details.aspx?id=23261
- [CRM 4][NB] Security and Authentication in Microsoft Dynamics CRM: Connectivity and Firewall Port Requirements in On-Premise Deployments. http://www.microsoft.com/en-us/download/details.aspx?id=12774
- [CRM4][NB]
Security and Authentication in Microsoft Dynamics CRM: The Microsoft Dynamics CRM Security Model. http://www.microsoft.com/en-gb/download/details.aspx?id=12108
- [CRM4] Outlook Synchronization in Microsoft Dynamics CRM 4.0. http://www.microsoft.com/en-us/download/details.aspx?id=17594
- [CRM4] [NB] Offline and Online Synchronization in Microsoft Dynamics CRM. http://www.microsoft.com/en-us/download/details.aspx?id=2737
- [CRM4] Sharing Data across Microsoft Dynamics CRM Deployments. http://www.microsoft.com/en-us/download/details.aspx?id=10151
- [CRM4] Optimizing and Maintaining Microsoft Dynamics CRM 4.0. http://www.microsoft.com/en-us/download/details.aspx?id=3997
- [CRM2011] [Email Router] How to configure the Microsoft Dynamics CRM on-premises and Microsoft Dynamics CRM Online E-mail Router in different deployment scenarios. http://www.microsoft.com/en-us/download/details.aspx?id=21445
- [CRM 2011] Deploying Microsoft Dynamics CRM 2011 and CRM Online Solutions from Development through Test and Production Environments. http://www.microsoft.com/en-us/download/details.aspx?id=27824
This comment has been removed by a blog administrator.
ReplyDeleteAnything changed or no longer applicable for CRM 2016?
ReplyDeleteI've put together a high level list of optimisations 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. customer-relationship-management
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteA software company brand's reputation may be built on its crm development. Having a positive relationship with a consumer can be considered as critical to a company's success. The ability to build a relationship with a consumer helps the customer to trust the vendor. This provides the buyer an incentive to buy from the firm in addition to the service.
ReplyDelete