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