Dynamics CRM platform performance can be quantified by looking at the following attributes:

  • TTFB (a.k.a Time to First Byte) the time it takes for the first byte of information to be returned from the server to client once request is made.
  • DOM Content Loaded: An event is triggered when the page’s DOM is ready and when the document is completely parsed and loaded. As an example look at http://ie.microsoft.com/testdrive/HTML5/DOMContentLoaded/
  • Page Load Time: An event triggered when the entire page is loaded.

For good performance consider the following:

  • A lot of customizations on the form imply more time it takes to load and change.
  • Ribbon customization causes performance issues. The xml written behind the ribbon needs to loaded.

The following check list can be used to as a general guide:

  • Optimize Form Load Experience
  • Minimize the number of fields on the Form
  • Minimize usage of Scripts
  • Minimize Ribbon Customizations
  • Use collapsed sections where possible, use sub-grids where required more sub-girds increase page size quickly.
  • Disable or reconfigure OOTB CRM jobs, there is a Job Editor tool that can be obtained at http://crmjobeditor.codeplex.com/
  • Rebuild indexes.

SQL Server Performance Tuning:

For the OOTB entities in CRM indexes does exists, given additional custom entities can be added or new fields can be created on system entities to take advantage of xRM capabilities, indexing management becomes our responsibility. Some tools/places that can point to problem queries include:

  • Event viewer under “Application” where there will be warnings under Source MSCRMPlatform regarding performance of query execution.
  • Checking activity monitor of SQL server to look at Long Running Queries, use SSMS to display estimated execution plan.

Additional Reading: