On Monday I did a highlight of the upcoming Decisions Fall 2010 - AX Day, Virtual conference. You can find that post here.: Decisions 2010 - Next week!
As part of that highlight, I did a spotlight on sessions including one by one of my peers at Sunrise
, Robert Boone.
In order to build into that upcoming session, Robert wanted to spend a little time on some performance tips around Dynamics AX, and with that below is his first guest article on this blog.:-----
Dynamics AX Performance Quick Tips - Robert Boone
There is a good bit of information out on the blogsphere, MSDN, and other sources. A lot of this in contained within whitepapers, about Dynamics AX performance. For me however, when I am dealing with Performance and Dynamics AX, the following is my top three list of resources and tools for resolving performance issues.:1. Pre-Implementation Planning Stage - Database Hardware
Dynamics AX is a great fit for a wide variety of businesses. For many, the hardware requirements may be very relatively minimal. But for larger implementations, those with many users or very intensive processing requirements, do not skimp on database hardware. Larger implementations especially need to plan for enough dedicated disks to follow the recommendations of the Performance Team listed at the bottom of the following checklist. Checklist link.
Final note on this, it is almost always much less expensive to get adequate hardware than to expend effort later on extensive optimization.2.) During Implementation - Test - Use SQL Server DMVs
Make sure you've got representative data well before go-live and test. This is key to what DMV's can tell to a build up to production go live, and post go live performance expectations.
Know what's happening in the database. Know what your longest running queries are. Do they have reasonable query plans? Any missing indexes? What kind of wait states do you have? These are relatively easy things to see with SQL DMVs
. This is also a great top 10 list for Dynamics AX/SQL performance: SQLCat.com Top Ten Tips. 3.) To Quickly Identify Issues, use the Dynamics AX Trace Parser!
First a big thanks to the Performance Team for releasing this! Trace Parser is invaluable if you need to look at some Dynamics AX process to find out exactly where it is spending time. All of the above database tools, skills, and processes should be in place. With the combination of those and Trace Parser you should be able to identify and resolve any issues that do come up. On Trace Parser, a couple of tips:
Use this on a system that's not busy. Ideally, when tracing you'll be the only one in that instance. This is probably obvious to anyone who has used Dynamics AX tracing, but trace for them minimum amount of time necessary to capture the problem as trace files can quickly become huge.
Finally, I will be leading a session, as Brandon as highlighted on Batch Framework in Dynamics AX 2009, for the Decisions Fall Virtual Conference next Monday. What's important to understand, is that if you hit processes that nothing else seems to work, maybe it's time to look at worker processes or multi-threading a process. This is best suited for the session I will be leading, on the Batch Framework in AX 2009! (Link to session information)-----
I would like to thank Robert for taking the time to do this guest post, and look forward to many more as we approach AX 6, and beyond!
Make sure to check out Roberts session, and get deep insight into what all the Batch Framework can help you do within Dynamics AX 2009!
Till Next time!"Visit the Dynamics AX Community Page today!"
Labels: Batch Framework, Decisions 2010, DMVs, Dynamics AX, Highlight, Multi-threading, Perf, Performance, Robert Boone, Thread Development