I have a 3 node cluster with 6 indices of 1 shard each and 2 replicas, in short the full copy of an index on each node. Now I know that when I make a search call by calling a particular node of the cluster with a query, ES uses Adaptive Replica Selection to redirect my query to a particular node in the cluster which may or may not be the same node which I called to.
SO I tried calling ES cluster in the following way with the same load of 1000 requests per second.
Case 1 - Called just one node and ignored other two for every request, got a RPS of 130
Case 2 - Randomly chose between only 2 nodes and ignored the third nodeto make a request, got a RPS of 200
Case 3 - Randomly chose between all 3 nodes of cluster to make a request, got a RPS of 250
I don't understand why would there be a difference on how many nodes of a cluster I call to, since every request is handled using adaptive replica selection by ES.
Can anybody please shed some light on this, or provide some insight on what actually is happening ?