Welcome to the final post in our series of articles over the Peak Period. We hope you’ve found them informative and, more importantly, useful during an intensive period. Think of these posts as a little something from the team at AgileCadence to all retailers with Dynamics AX.

It’s almost December and by now your business will have been through one of the biggest retail weekends in the calendar. The challenges of Black Friday and Cyber Monday will have undoubtedly tested the efficiency of your systems. With a little over three weeks until Christmas any problems highlighted will continue to be an issue. Once you’ve identified any problems remember that it’s never too late to deal with  them, act quickly to optimise your sales.

If you’ve been following our series of blog posts throughout November, then you will have done the following:

  • Installed DynamicsPerf
  • Found bottlenecks and missing indexes in your production system
  • Installed PAL and started to run the performance counters on your servers to find any critical hardware performance issues

We deliberately kept these posts high level, knowing that it’s unlikely your technical teams will have the capacity to dig too deeply during the busiest time of year. If this has been an issue for you then please contact us. We can work with you as a managed service or via our professional services team to assist.

Back in 2016 Bertrand Caillet from the Microsoft Premier Field Engineering (PFE) team wrote a series of really interesting articles on LinkedIn around performance. One of these posts “Do not assume, Benchmark your X++ code” suggests the following:

“Premier Field Engineering has the great opportunity to see the product running live and the performance troubleshooting often means doing a code review of all layers. We often demonstrate the need to optimise the code with the 10/10/80% application rule:

  • 10% of the performance can be explained by infrastructure issues like network, disk latency, memory pressure and high utilisation processors
  • 10% by wrong configurations in SQL and AX such as Max degree of Parallelism, database files size and location, AX Database logging and Number Sequences
  • Then 80% can be found its root cause in the business logic X++ code in correlation with index tuning and data modelling. Writing the customization in X++ to match customer’s requirements is one thing, making sure it is well optimized for high volume transactions and large tables is another one.”

Depending on the systems you are looking at, we would tend to agree with Bertrand, however we should put these comments into perspective. The PFE team deal with hundreds of installations of AX, most of which will be highly customised; if the solution has been around for many years and over many versions of AX then it is entirely likely that 80% of issues are down to poorly performing code.

In our second post on performance, we explained how to identify long running queries and find the associated stack trace.  The stack trace points you to the actions which triggered the slow query, and to investigate the issue further, a useful tool is Trace Parser.

Trace Parser shipped as part of Dynamics AX, but is still available today for D365FO.  This tool will record and report back everything the application is doing as a result of a user action; the information obtained will allow you to pinpoint the features in the code that should be improved or optimised to cure performance issues.

For AX2012 ,you can find some great information on Trace Parser from a couple of posts on the Dynamics AX Performance Blog:

We would also highly recommend reviewing the early AX2009 details:

And you can also view an early YouTube video here.

As we’ve said before, data is king. Keeping your systems running at their best requires ongoing monitoring and analysis. Get on top of it and you’ll reap the benefits. We hope this series of posts has been able to help you pinpoint and rectify areas of concern, however if you feel you need more expertise then we can step in to offer a consultancy based or fully managed service.


Find out more about us on our website and follow us on LinkedIn to keep up with essential industry news and updates.