Is Your Microsoft Dynamics AX System Healthy?
11 Common Issues Found in Dynamics AX System Health Checks
Ensuring that Dynamics AX runs optimally is important for the long-term use and stability of your system. As an end user, you may not know the important things to have set up or monitor to keep your Dynamics AX system healthy. Just as you would have an expert do a building inspection on a home, go to a physician for a yearly physical, or have a mechanic perform a multi-point inspection, it is important to have a review of your Dynamics AX system. Over the years, I’ve performed many system reviews while employed by Microsoft, and through the AX System Health Check service we offer at Stoneridge Software. I've been working on Dynamics AX performance, security and administration for more than 10 years, here are some of the most common items I have found that impact the overall health of your system.
1. Code Management & Deployment
It is important that standards and processes are put into place for how customizations will be developed, managed, and deployed.
If standards and processes are not established members of the implementation team can struggle with knowing what customizations exist in the system, and why code changes were made to base Dynamics AX objects. Also, if code management and deployment processes are not established, it can result in different code between environments. For example: Having code in the test environment that doesn’t exist in the development environment. It can also result in object ID conflicts which in some cases can lead to data integrity issues.
2. Batch Configuration
Configuring your system to utilize batching effectively can be a difficult task. Knowing when to create different batch groups, when to add a dedicated AOS for batching, determining how many threads to dedicate to AOS batch work, and managing batch jobs takes experience. If not set up optimally you can experience issues with batch jobs not completing within the time frame you need or taking longer than desired to finish.
The ability to notify end users when a specific condition has occurred in the system can be invaluable to an organization by giving people the ability to respond to critical events. However, the overuse or improper set up of alerts can degrade the performance of your system. Therefore, it is important that someone is monitoring alerts that are set up and ideally there would be a process in place regarding adding alerts to the system. Learn more on the potential dangers of improper alert setup.
4. Number Sequences Setup
If a number sequence is setup as continuous that means for every new record the system has to query SQL to find out what the next number is. If this is not selected the AOS can cache a range of numbers to be used next. Number sequence setup can impact performance because of the number of reads it can produce in SQL Server.
5. Dynamics AX Security
Setting up users in the System Administrator security group gives them full access to the system. This not only means they can access any data in the system but it also means they can view and modify Dynamics AX objects including tables and code. Typically you want less than 5 % of your user base in this role.
6. SQL Configuration
SQL Server is the backbone of your system as it manages the Dynamics AX data and modelstore. Therefore the configuration of SQL can significantly impact the performance of your system. Configurations such as having the max degree of parallelism set incorrectly for Dynamics AX; not separating out your data, log, and tempdb storage; the setup of tempdb files; and not enabling certain traceflags can cause significant performance decreases.
7. Large Size of Logging Tables
There are a few tables within Dynamics AX that hold log data or transaction history that is not needed after a certain amount of time. Devising a strategy on how to purge data from these tables can help you maintain optimal performance around batch jobs and service calls. This can also help you to better utilize your disk space. No one wants to find out they have 20 GB of data related to batch jobs that have run for the last five years.
8. Application Object Server (AOS) Event Logs
The Dynamics AX AOS writes a lot of records to the application event log. It can be difficult to know what action to take, with the volume of informational, warning, and error messages. An AX Health Check performed by Stoneridge Software can identify which logged messages need to be addressed and the action that should be taken.
9. Client Crashes
In Dynamics AX 2012 there are far more client crashes than I have seen on any previous version. It is important that client crashes are monitored and a resolution for the crashes are sought out. If left unresolved, the reason for this is that client crashes can cause usage data and cache file corruption. These not only affect performance, but they can also result in frustrated end users.
10. Performance Counters
Monitoring certain performance counters in your Dynamics AX environment can give you an early indication of problems that might arise in Dynamics AX if not addressed. Most often, we find that disk performance is not at an optimal state. Imagine the disk performance issues that result by adding 10 milliseconds more per query, as you run millions of queries in an hour.
11. High Availability and Disaster Recovery
Given the importance of your ERP system to the business, it is imperative that you have a high availability and a disaster recovery plan. No one plans for an unforeseen event, but what if there were a server failure, flood, fire, or any natural disaster event at the location of your Dynamics AX system? Do you have a backup offsite or a secondary location? If not, your ERP system could be down for days or you could suffer significant data loss.
A Stoneridge Software AX Health Check reviews several areas of your system and clients are provided with a scorecard and executive summary, presenting top issues and recommendations.
Learn more about the items reviewed during a Dynamics AX System Health Check or download a sample AX Health Check Report.