On 3/19/2016 11:12 AM, Robert Brown wrote:
> I have an index of 60m docs split across 2 shards (each with a replica).
>
> When load testing queries (picking random keywords I know exist), and
> randomly requesting facets too, 95% of my responses are under 0.5s.
>
> However, during some random manual tests, sometimes I see searches
> taking between 1-2 seconds.
>
> Should I expect a simple shard split to assist with the speed
> immediately?  Even with the 2 new shards still being on the original
> servers?
>
> Will move them to their own dedicated hosts, but just want to
> understand what I should expect during the process.

Maybe.  It depends on why the responses are slow in the first place.

If your queries are completely CPU-bound, then splitting into more
shards and either putting those shards on additional machines or taking
advantage of idle CPUs will make performance better.  Note that if your
query rate is extremely high, you should only have one shard replica on
each server -- all your CPU power will be needed for handling query
volume, so none of your CPUs will be idle.

Most of the time, Solr installations are actually I/O bound, because
there's not enough unused RAM to effectively cache the index.  If this
is what's happening and you don't add memory (which you can do by adding
machines and adding/removing replicas to move them), then you'll make
performance worse by splitting into more shards.

Thanks,
Shawn

Reply via email to