On 4/20/2018 5:38 AM, Bernd Fehling wrote:
Thanks Alessandro for the info.

I am currently in the phase to find the right setup with shards,
nodes, replicas and so on.
I have decided to begin with 5 hosts and want to setup 1 collection with 5 
shards.
And start with 2 replicas per shard.

But the next design question is, should each replica get its own instance?

What will give better performance, all replicas in one java instance or
having one instance for each replica?

Erick's reply is pretty complete.  A shorter version: Unless the heap required is huge, only run one Solr instance per server.  Huge heap requirements are the only good reason I can think of for more than one Solr instance on a server. One Solr instance can handle many cores (shard replicas).

Exactly what heap size should be considered "huge" is a subject for debate.  I would say that if you have to go above 31GB, that's a definite candidate for splitting into two instances, but there might be reasons for drawing the line at a lower value.

A tangent:  Ideally, the servers will be bare metal, not virtual machine.  There's nothing technically wrong with VMs. Most of my reasons for preferring bare metal servers are non-technical.  Executive and sales/marketing people tend to view a machine running VMs as a bottomless resource and expect it to do far more than it is capable of doing.  If the physical host is not oversubscribed, then VMs can be a great option.

If you do use VMs, then you should ensure that the VMs hosting different replicas are running on completely separate physical hardware.  The idea is to ensure that if one hardware chassis fails, all of your shards still have at least one replica running.

Thanks,
Shawn

Reply via email to