We are using Solrcloud 5.3 with 2 shards and 2 replica. We observed that
indexing is slower when replicas is up and running. If we stop replicas
than indexing become very fast.

Here is some readings for indexing of 100000 documents.

When replicas are running it took around 900 seconds for indexing.
After stopping replicas it took around 500 seconds for indexing.

Is the replication happens in Sync or Async?  If it is Sync, can we make it
Async so that it will not affect indexing performance.

I have checked solr code and it seems like in doFinish() method (of
DistributedUpdateProcessor class) waits for replication request to complete.


DistributedUpdateProcessor
===========================

  private void doFinish() {
    // TODO: if not a forward and replication req is not specified, we could
    // send in a background thread

*    cmdDistrib.finish();    *
    List<Error> errors = cmdDistrib.getErrors();
    // TODO - we may need to tell about more than one error...
...
....
...
   }

Reply via email to