Preference local on a transport client


I am using ES 1.3.2 and setup a cluster with 3 nodes, having about 350,000
docs right now. (1 shard, 2 replicas)

In my service I create a transport node connecting to the cluster, and use
Java API to search.

Then I benchmarked my service - each HTTP request to my service will
trigger about 12 to 15 queries (sent with multi-search api).

  • Without preference set to local, all requests get slow when
    concurrency goes high.
  • With preference set to local, some of the requests are as fast as low
    concurrency under high concurrency, but some of them are super slow

So I want to know how does this config affect the performance in my setup
(1 transport --> 3 data nodes).
Also I don't understand why some node can handle the queries very fast
while the others are super slow... I thought in my setup every node should
have complete data stored.

Thanks :slight_smile:

You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
To view this discussion on the web visit
For more options, visit