This is a story of upgrading one of our clients from Microsoft Dynamics NAV 2013 to Microsoft Dynamics NAV 2016 (we recommended going to NAV 2017, but they didn’t want to be guinea pigs).
The upgrade itself was done on the customer’s live server, which was a brand new powerful server on VM (virtual) environment. During the upgrade, our developers complained that the performance on the live server was extremely slow. Initially, we thought it may have been the large amount of data (100 GB) that are being upgrade so we brushed it off.
When we went live, that’s when the performance on NAV got worst.
Researching on Google and the Dynamics NAV forums on performance issues with Dynamics NAV 2016 came up with nothing. Of all the researches, NAV 2016 should perform a lot faster, not slower.
We’ve tried reindexing, changing the settings on the Dynamics NAV service tier, changing the CPU cores, SQL tuning. Nothing worked.
The problem in the end was how the VM hosts were setup. It matters which host SQL Server and Dynamics NAV server were setup. The following VM configuration was how the server was setup:
The internal IT director put the Dynamics NAV server and the SQL Server on the same host on the VM and *poof*… All the performance problems went away. NAV was back running in blazing speed.
What was strange was that for NAV 2013, the SQL Server and the Dynamics NAV Server was running on different host and there were no performance issues.
When you’re in an VM environment, put the SQL Server and the Dynamics NAV server on the same host machine.
Upgrading to Dynamics NAV 2016 is nothing new for us. We’ve done quite a bit of the upgrades for companies but this issue baffled me a bit. The same structure used on NAV2013 did not work well on NAV2016.
Hopefully, if you read this, it will save you from some headaches that I’ve gone through.