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

Reply via email to