MB-17889: Address view_query latency regression 50/59750/3
authorJim Walker <jim@couchbase.com>
Wed, 10 Feb 2016 16:33:10 +0000 (16:33 +0000)
committerChiyoung Seo <chiyoung@couchbase.com>
Tue, 23 Feb 2016 18:09:49 +0000 (18:09 +0000)
commit674c85e22d03ac9ff31848c3fa5c32dce6859d85
tree1efefdb809e7bc3affafd79b7844b255180688c6
parent61ab9520e4c6a7a9de7ff4ef0c80c6ec7e7c8973
MB-17889: Address view_query latency regression

Some of the stale=false query latency tests show a 2x increase
in the 80 and 95 percentile. This is observed when moving from
3.1.4 1835 to 1836.

The prime suspect is that the snapshot yield parameter is now
stalling the view engine's DCP data.

In the change from 1835 to 1836 this value was tuned based upon
queue lengths observed during rebalance, moving from 10 to 256.

It could be that the task now runs for longer periods blocking
DCP backfill from running, and view engine drives many backfills
due to the way it frequently closes and opens streams.

Note that DCP Backfill and the snapshot task both share the same
task type, so can block each other.

This patch moves this config value back to 10 (as it was in 1835).

The view-query latency is very difficult to relibably reproduce, observe
and tune, but there is evidence (a trend) that with this config value
at 10, the performance (view latency) is improved.

Some small scale rebalance tests (3 node cluster, swap 1 node for 1)
showed that with 10 rebalance was not adversly affected, but it's a risk.

A latency comparison is attached to the MB which hints that
the latency is better.

https://issues.couchbase.com/secure/attachment/29513/29513_benchmark.png

Change-Id: I6ecf8ff950f77638eb03e4fedaefb700cf945d54
Reviewed-on: http://review.couchbase.org/59750
Well-Formed: buildbot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
configuration.json