My tests with many combinations (instance, node, core) on a 3 server cluster with SolrCloud pointed out that highest performance is with multiple solr instances and shards and replicas placed by rules so that you get advantage from preferLocalShards=true.
The disadvantage ist the handling of the system, which means setup, starting and stopping, setting up the shards and replicas with rules and so on. I tested with 3x3 SolrCloud (3 shards, 3 replicas). A 3x3 system with one instance and 3 cores per host could handle up to 30QPS. A 3x3 system with multi instance (different ports, single core and shard per instance) could handle 60QPS on same hardware with same data. Also, the single instance per server setup has spikes in the response time graph which are not seen with a multi instance setup. Tested about 2 month ago with SolCloud 6.4.2. Regards, Bernd Am 26.08.2018 um 08:00 schrieb Wei:
Hi, I have a question about the deployment configuration in solr cloud. When we need to increase the number of shards in solr cloud, there are two options: 1. Run multiple solr instances per host, each with a different port and hosting a single core for one shard. 2. Run one solr instance per host, and have multiple cores(shards) in the same solr instance. Which would be better performance wise? For the first option I think JVM size for each solr instance can be smaller, but deployment is more complicated? Are there any differences for cpu utilization? Thanks, Wei