I wanted to make sure everyone is aware of a really great tool that can be used to measure and improve performance of Dynamics CRM based on the SQL Server. I recently used the tool for a Performance Review service and it worked really well. The tool is now publically available. Version 1.0 of the tool includes scripts specific to Dynamics AX. However many of the scripts in the tool work just fine for Dynamics CRM as well and can provide some great information on SQL Server performance. The Perf Analyzer tool has been blogged about over on the “AX in the Field” blog but wanted to get the word out here too because it can be just as applicable to CRM.
I would suggest a good working knowledge of SQL Server before using this tool, as the tool is made up of a series of SQL scripts. But there are also very good step-by-step instructions on deploying and using the tool as well. Scripts are available in the tool to investigate SQL configuration, identify expensive queries, investigate indexes, list index activity for a certain table, and capture and investigate blocking to name a few things.
For CRM specifically, when custom attributes/fields/entities are created, indexes may not be optimized on the base and extension tables for theses entities. The Perf Analyzer tool can help identify where these might be leading to long-running queries and point you in the right direction of tuning the queries appropriately.
See the following links for further info on the tool and to download and start using it. Once you get it downloaded, unzip it and look for the “Performance Analyzer 1.0 for Microsoft Dynamics Install Guide.pdf” file for info on getting up and running.
- Get the tool here: http://archive.msdn.microsoft.com/DynamicsPerf
- More info on the tool: Performance Analyzer for Dynamics
- Setting up the tool: Setting up Performance Analyzer for Microsoft Dynamics
- Capturing database blocking: Capture Database Blocking with Performance Analyzer for Microsoft Dynamics