Multi-tier systems such as Dynamics NAV provide great flexibility and scalability, easily handling over 1,000 concurrent users. However at some point, all systems display unacceptable performance.
At Fenwick, we’ve seen huge changes in the typical system environment for NAV systems over the last five to ten years, moving from on-premise physical servers, to fully virtualized servers sharing a host and storage array with numerous other applications, located either on-premise or, increasingly, in the cloud.
The growing number of components in the entire system means more possibilities for complex interactions. It becomes more difficult to trace a performance problem. Is it in the database, web server, core application code, customized code, guest operating system, host operating systems, load balancer, storage system, network infrastructure or the underlying hardware?
To resolve performance issues quickly and efficiently, it is critical to adopt a systematic approach that considers all the resources used by the system rather than just ‘looking where the light is best’ at those easiest to monitor.
As a starting point, it’s extremely useful to have a baseline of acceptable performance. This can be easily recorded during normal operating conditions by your infrastructure provider and, ideally, will be used to alert operations staff if performance moves outside acceptable limits.
Initially, try to identify as much information about the issue as possible—how do you know there is a performance problem, what software/hardware/network components have changed recently, how many people are affected? Often the problem is due to a recent change in the environment, which you can reverse until a solution is identified. Then systematically check the utilization of each resource—processor, memory, disk, network, the saturation of the resource, and any errors being reported by the resource.
This method goes by the acronym of USE (Utilization, Saturation and Errors) and has been successfully applied to many performance investigations. According to author Brendan Gregg, it solves 80% of server issues with 5% of the effort.
Try it. Please leave a comment if it works for you.