Rod Hansen and I headed south to Minneapolis (yes, everything is south of Fargo) to join the Minnesota chapter of AXUG for dinner and a discussion on the Performance Analyzer tool. The Minnesota chapter is very well attended and we had a good turnout for this meeting - about 20 folks there in total. Ben Syltie from the Premier team joined the meeting as well to talk about support options for Dynamics AX. You can see more about Premier Services at http://www.microsoft.com/premier and the specific Dynamics AX services at http://www.pfedynamics.com.
Rod reviewed the Performance Analyzer tool with the audience - showing how to install the tool and then walking through some of the key tools he uses when conducting performance reviews. To get the solution deployed, you need to download the .zip file from the link above. Extract the contents to a folder on your hard drive so you have the solution file available so when you go into SQL Management Studio you can Open the solution file. Once you've opened the file, you'll see a series of queries on the right side. They are numbered in sequential order, so the first thing you need to do is to run the 1-Create_Core_Objects script which will create the database, the tables and the SQL jobs (in a disabled state). If you're running AX, you'll want to run the 2-Create_AX_Objects scripts and run the AOT Export job under the Miscellaneous folder. Once you've got all the objects created, you can really start to leverage the power of the tool.
You can use the Performance Analyzer as a server-side tracing tool, so Rod showed how to use that script and the importance of running production traces server-side to minimize the performance impact of the tracing process. He also walked through a recent addition - the benchmark queries (#7) which show the activity on the server in hourly intervals, so you can tell how much data is being entered in the system each hour and you can identify peak loads and what your performance looks like during those times.
In addition to the Performance Analyzer discussion, a few other questions came up that I took down so we can provide responses:
- Has the benchmark for AX 2012 released? Yes, the "Day in the Life" benchmark released in October and it showcased the ability of Dynamics AX to process hundreds of thousands of lines in a hour time span even with 5,000 plus user concurrency. Click the link for more details on the benchmark results and the process used to determine the scalability numbers.
- What is the best way to do testing on Dynamics AX - we are concerned that we may "break" our critical functions when releasing code for another module of the product? The best recommendation from the team on this was to look to automate those critical areas of the application, so you can reduce your per release testing time for those critical functions that you cannot afford to have modified. You can create automated tests that simulate these top 10 (or whatever your number is) key functions to make certain that they are tested each time new code is released to production.
- What is the recommended way to have multiple developers work on AX code at the same time? The recommendation from our developer support team is to have each developer install their own instance of AX with a separate AOS and then check-in their code to a Visual Studio Team Foundation server. When the code is checked-in, the other developers would sync their environment to make sure they have the latest code for the entire system.
- Will AX 2009 be supported with SQL 2012? Compatibility testing is going on right now for AX 2009 to be supported on SQL 2012. AX 2012 will also be supported on SQL 2012 but the dates for that support to be offered are yet to be determined.
It was a great opportunity to meet sophisticated AX users and have a discussion about the challenges they're facing and the excitement they have for where they can take their system with Dynamics AX.