On 7/18/2018 12:04 AM, Ash Ramesh wrote:
I have a quick question about what the memory requirements for TLOG
machines are on 7.3.1. We currently run replication where there are 3 TLOGs
with 8gb ram (2gb heap) and N PULL replicas with 32gb ram (4gb heap). We
have > 10M documents (1 collection) with the index size being ~ 17gb. We
send all read traffic to the PULLs and send Updates and Additions to the
Leader TLOG.

We are wondering how this setup can affect performance for replication,
etc. We are thinking of increasing the heap of the TLOG to 4gb but leaving
the total memory on the machine at 8gb. What will that do to performance?
We also expect our index to grow 3/4x in the next 6 months.

Performance has more to do with index size and memory size than the type of replication you're doing.

SolrCloud will load balance queries across the cloud, so your low-memory TLOG replicas are most likely handling queries as well.  In a SolrCloud cluster, a query is not necessarily handled by the machine that you send the query to.

With memory resources that low compared to index size, the 8GB machines probably do not perform queries as well as the 32GB machines.  If you increase the heap to 4GB, that will only leave 4GB available for the OS disk cache, and that's going to drop query performance even further.

There is a feature in Solr 7.4 that will allow you to prefer certain replica types, so you can tell Solr that it should prefer PULL replicas.  But since you're running 7.3.1, you don't have that feature.

https://issues.apache.org/jira/browse/SOLR-11982

There is also a "preferLocalShards" parameter that has existed for longer than the new feature mentioned above.  This tells Solr that it should not load balance queries in the cloud if there is a local index that can satisfy the query.  This parameter should only be used if you have an external load balancer.

Indexing is a heap-intensive operation that doesn't benefit much from having a lot of extra memory for the operating system. I have no idea whether 2GB of heap is enough or not.  Increasing the heap size MIGHT make performance better, or it might make no difference at all.

Thanks,
Shawn

Reply via email to