Search preference and primary shard balancing


(ppearcy) #1

Hey,
In the process of moving from 0.16.5 to the latest 0.19.x release.
Loving all the new features and functionality.

One piece of functionality that I thought would enable me to improve
performance is the search preference behavior. Using the
_primary_first behavior, my thought was that this would allow only one
of the replicas to be warmed up and take care of handling all the
searches. Basically, achieving the performance of no replicas while
keeping the high availability.

In practice, however, the least recently rebooted machine ends up
holding all of the primary replicas which pretty much means you end
up with one server handling all the queries.

I've seen the primary shard balancing discussion before and the
consensus was that it didn't make sense because there isn't much
overhead for a primary shard. Perhaps allowing primary shard balancing
would make sense for this use case?

Thanks!
Paul


(Shay Banon) #2

The _primary_first option was not really designed for this... :), there is
a thread and an issue of being able to flip a switch on a shard and making
a replica of it the primary, this might help in this case.

On Thu, May 24, 2012 at 10:58 PM, ppearcy ppearcy@gmail.com wrote:

Hey,
In the process of moving from 0.16.5 to the latest 0.19.x release.
Loving all the new features and functionality.

One piece of functionality that I thought would enable me to improve
performance is the search preference behavior. Using the
_primary_first behavior, my thought was that this would allow only one
of the replicas to be warmed up and take care of handling all the
searches. Basically, achieving the performance of no replicas while
keeping the high availability.

In practice, however, the least recently rebooted machine ends up
holding all of the primary replicas which pretty much means you end
up with one server handling all the queries.

I've seen the primary shard balancing discussion before and the
consensus was that it didn't make sense because there isn't much
overhead for a primary shard. Perhaps allowing primary shard balancing
would make sense for this use case?

Thanks!
Paul


(system) #3