In continuing with my earlier post, I’m going to keep working on adding various performance tips and tricks as they relate to Microsoft Dynamics CRM 2011. I’ve spent the last 8 or 9 days working with a great engineer with Microsoft support and I’ve taken away some good information that I’ll pass along.
One of my clients has been experiencing the MSCRMPlatform warning in their event viewer for quite a while. In addition to that warning, they had an error that would crop up somewhat randomly. This error was logged to the event viewer as:
“A Microsoft Dynamics CRM Asynchronous Processing Service operation of type 12 has been suspended”.
We thought it might be a workflow or job running but disabling the jobs didn’t resolve the issue and disabling all of the workflows wasn’t an option. The error itself was hard to trap and debug so we were left with the notion that somehow the warnings and error might be related. Inside the event log message for the warnings were a few queries (Update, Select and Insert). Those queries all went against the AsyncOperationBase table. Now there is at least one hotfix/kb article surrounding this table KB968520 . This helped, but it didn’t fix the problem. After trying a number of different fixes, I decided to run the query through the SQL Server Database Tuning Advisor and to run each query through the Estimated Execution Plan.
What I got back amazed me… The execution plan recommended two different indexes, one of which was to provide upwards of a 98% increase in performance. The second, was a 28% increase and the DTA recommendations were to provide an expected 14% improvement. We chose to use the index recommendation from the DTA but ignored the CREATE STATS recommendations (on the advice of the SQL engineer with MS) and I implemented both indexes from the execution plan recommendation. As it turns out, we went from having anywhere from 10-30 warnings over a 2-5 second time window to having NONE! Prior to the index changes, the queries were exceeding the threshold by 1-70 seconds, now they are all running under 10 seconds. Even better, the MSCRMAsyncService errors went away at the same time.
So, if you are seeing a bunch of warnings from the MSCRMPlatform and MSCRMAsyncService errors described above, try looking at the indexes or running your queries through the DTA and execution plan tool that Microsoft provided and you might be just have the same success we did.
If you are looking for technical support for your Microsoft Dynamics CRM system, contact our professional at 855.437.7202 or via email at firstname.lastname@example.org.
By: Josh Thompson – Minnesota Microsoft Dynamics CRM Partner