On 5/9/2017 1:44 AM, Bernd Fehling wrote: > From my point of view it is a good solution to have 5 virtual 64GB > servers on 5 different huge physical machines and start 2 instances on > each virtual server.
If the total amount of memory in the virtual machine is 64GB, then I would run one Solr node on it with a heap size between 8 and 16GB. The rest of the memory in the virtual machine would then be available to cache whatever index data exists. That caching is extremely important for good performance. If the *heap* size is what would be 64GB (and you actually do need that much heap), then it *does* make sense to split that into two instances, each with a 31GB heap. I would argue that it's better to have those two instances on separate machines. Assuming that you have a bare metal server with 256GB of RAM, you would *not* want to divide that up into five virtual machines each with 64GB. The physical host would not have enough memory for all five virtual machines. It would have the option of using its disk space as extra memory, but as soon as you start swapping memory to disk, performance of ANY software becomes unacceptable. Solr in particular requires actual real memory. Oversubscribing memory on VMs might work for some workloads, but it won't work for Solr. If all your virtual machines are running on the same physical host, then you have no redundancy. Modern servers have redundant power supplies, redundant hard drives, and other kinds of fault tolerance. Even so, there are many components in a server that have no redundancy, like the motherboard, or the backplane. If one of those components were to die, all of the virtual machines would go down. Thanks, Shawn