You can run NCache cache servers and NCache Remote Clients on physical servers as well as on Virtual machines.
We generally recommend NCache cache servers to be on physical servers where you have dedicated hardware resources for caching but there are no issues on running NCache in a virtualized environment as well.
Following are important hardware recommendations for NCache cache servers, please make sure to allocate minimum of following resources to your VM instances if you are using VMs for cache servers.
- Physical Memory
- Adequate RAM for cache servers: NCache stores everything in-memory, Each NCache server uses around 40-50MB memory as a .NET process and then puts 15% overhead on whatever you cache. Please keep this in mind when deciding how much memory to have in your cache servers. The total memory you need depends on how much data you plan to store in the cache. If you're storing ASP.NET Session State, then figure out your average session size and maximum number of sessions you'll ever have in the cache. You can do the same for application data caching.
- Network Interface Cards
- Two 1Gbit NICs in cache servers: If you have two NICs in cache servers, it allows you to configure NCache so it uses one of the NICs for cache clustering and the second one for client/server communication. This improves your throughput greatly.
- Processing power
- Dual-CPU, Multi-core: NCache is a highly multi-threaded application and takes full advantage of extra cores and CPUs. The most common configuration for NCache is a dual-CPU machine where each CPU is preferably a quad-core processor or higher depending upon the use case.
- Disk: NCache does not make heavy use of the disk space so you don't need any extraordinary disk space for your cache server.
What to Do Next?