You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by Alexander Shraer <sh...@gmail.com> on 2016/02/23 18:54:20 UTC

ZOOKEEPER-2024: Boosting ZooKeeper throughput 10x

Hi All,

Kfir completed the work on ZK-2024 and I'd like to commit it, ideally
targeting 3.5.2. It would be great if others could review it too. The
actual code change in this JIRA is small, most of it are new tests.

It addresses a well known issue in ZooKeeper: writers block readers simply
because they are connected to the same server, something that is not
mandated by ZK semantics. The main idea of the fix is simple -- writes
should only block operations of the same client. The patch also solves a
starvation bug in the commit processor.

This brings up to x10 times throughput boost in saturated mixed workloads
(where readers and writers connect to the same ZooKeeper server). The gains
can even be larger (we saw up to 17x) with non-saturated workloads. In
particular, we saw these gains also for cross-dc deployments since
Observers run the commit processor too.

The JIRA includes a short document <https://goo.gl/m1cINJ> that explains
the new algorithm and its correctness. And a second document
<https://goo.gl/W0xDUP> that shows the performance gains with various
workloads.

Cheers,
Alex