With the number of new installations we perform, we get asked a lot about what we recommend for the server hardware to run Dynamics NAV well. If you’ve ever looked at the Microsoft recommended specifications you most likely quickly realized that they are the bare minimum requirements and really don’t apply to 99%+ of all installations. While we have a few “go to” hardware specs that we tend to go with, we have compiled the below guidelines that can get you in the rough ballpark of what should be scoped for any given installation.
Remember these are just baseline guides, there is no substitute for knowing how you utilize the system and what workloads will be run that you should factor in when choosing your specifications. Also, we highly recommend investigating using Azure to host your Dynamics NAV environment versus rolling your own on premise installation. Implementing in Azure allows for great flexibility in regards to sizing the hardware. You don’t have to nail the perfect environment in Azure since it is a simple process to dynamically re-size any VM or Azure SQL Database on the fly if you determine you need more resources. If you do roll your own, be sure to factor in projected future growth and knowing what other loads will be running on a host machine when virtualizing your hardware.
Dynamics NAV Sizing / Config Guidelines
Processor Cores – 1 per 20 users + 1 for OS; i.e. minimum of 2 cores.
RAM – 500mb + 20mb/user + DataCache + MetaCache Example: For 20 users it would be 500mb + (20 * 20mb) + 1,024mb + 100mb = 2,024mb = 2GB
Storage – not a factor
NST Settings Setup
Instances – 1 per 50 to 100 users grouped by usage type; 50 per instance for heavy usage.
Separate instances for troubleshooting / debugging – running under a different service account
Web Client hosted on the same machine / VM
Data Cache Size: 10 to 12 (Default is 9) where 10 = 1GB and 12 = 4GB
Metadata Provider Cache: 5000 – essentially allows service to cache most/all used objects in the DB (Default is ONLY 150)
Compile and Load Business Applications: Yes (Default is Yes) – Allows service to fill object cache when it starts
Concurrent Calls: equal to # of actual Sessions connected to this NST
Processor Cores – 1 per 20 user processes
Config Windows Power Options to High Performance
Set MAXDOP = 1
RAM – as much as you can afford 🙂 but at least 16GB
Allocate all RAM to SQL minus 2GB to 4GB for the OS – SQL Server should be the ONLY thing running on the machine
Ensure service account has “Lock Pages in Memory“ assigned
Storage – RAID 10 if local to machine (SSDs are preferred) or separate LUN if on SAN (make sure HBA queue depth is appropriate)
Always separate storage for OS, Data, Logs and Temp to separate physical / vhd drives; format for 64K if possible
Ensure service account has “Perform Volume Maintenance Tasks“ assigned