Like many of you, I’ve spent quite a bit of time going through the performance tuning documents which Microsoft and the PFE’s have provided and have found them to be tremendously helpful. (If you haven’t taken the time to review the documents, I have them linked for you below) Of course not every tuning recommendation is appropriate and, environment and usage play a huge role in what will provide the most benefit. Recently, I’ve been spending more time trying to get to the finer points of performance tuning Microsoft Dynamics CRM and I’ve noticed a few things that I’d like to share over the course of a few blog posts. Some things will be covered in the documents I’ve referenced and I’ll try and convey the real-world benefits we’ve seen, others will be related to specific changes we’ve made that maybe aren’t covered in the documents or an extension of those suggestions.
There are several things to take into consideration when looking at performance:
- Client configuration (Browser, Network Settings, Permissions, Authentication, Connection Type)
- Network (Throughput, Bandwidth, Communication Efficiencies)
- Servers (Network Tuning, Drives, CPU, Memory, Software)
- SQL Server (File Locations, Permissions, Indexes, Jobs)
So to start, I’d like to cover a couple of the suggested changes mentioned in the client optimization document:
- “Disabling or reconfiguring the OOTB CRM jobs” – If you haven’t done so already, download a copy of the CRM 2011 Maintenance Job Editor R2 This provides a simple user interface for modifying those scheduled jobs and making sure you aren’t doing a full reindex on your _MSCRM database while your employees are trying to use the system! You can either opt to disable these OOTB jobs altogether and create them via SSMS instead or you can just change the timing of the jobs to run at a more appropriate time for your organization.
- Make sure your indexes are being reorganized or rebuilt and statistics are getting updated (done automatically if you do a rebuild). The OOTB indexes are pretty good but they need to be updated periodically to be as efficient as possible.
In my next post I’ll cover the importance of monitoring your SQL server, specifically indexes on OOTB and custom entities and how you can see significant performance improvements!
If you’d like additional information on optimizing and maintaining the performance of your Dynamics CRM installation, please give us a call at 855.437.7202 and see how we can help you. You can also check out my other blog posts and the recently updated (8/12) white paper from Microsoft:
Updated CRM Client Performance and Optimization
Optimizing and Maintaining Client Performance for CRM 2011 and CRM Online
Optimizing and Maintaining the Performance of a Microsoft Dynamics CRM 2011 Server Infrastructure
By: Josh Thompson – Minnesota Microsoft Dynamics CRM Partner