cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Edward Capriolo <edlinuxg...@gmail.com>
Subject Re: Node added, no performance boost -- are the tokens correct?
Date Fri, 01 Apr 2011 17:58:55 GMT
On Fri, Apr 1, 2011 at 1:15 PM, Peter Schuller
<peter.schuller@infidyne.com> wrote:
>> Now, I moved the tokens. I still observe that read latency deteriorated with
>> 3 machines vs original one. Replication factor is 1, Cassandra version 0.7.2
>> (didn't have time to upgrade as I need results by this weekend).
>
> Read *latency* is fully expected to increase if you just add a node.
> *Throughput* should increase, unless you have a workload that manages
> to be more expensive on RPC than actual reads/writes.
>
> Latency would only be improved by additional nodes under some significant load.
>
> How are you benchmarking? Are you concurrently submitting requests to
> all nodes at the same time? Try using stress.py from the Cassandra
> tree as a comparison.
>
> If you're sending one request at a time, there is no expectation at
> all of a performance improvement - just a decrease in performance.
>
> --
> / Peter Schuller
>

To be clear on this issue. It does not matter where the tokens start
it only matters that they are equally spaced around the token space.

So for a 4 node clusters your tokens should either be
1 * ((2^127) / 4) = 42535295865117307932921825928971026432
2 * ((2^127) / 4) = 85070591730234615865843651857942052864
3 * ((2^127) / 4) = 127605887595351923798765477786913079296
4 * ((2^127) / 4) = 170141183460469231731687303715884105728

or
0 * ((2^127) / 4) = 0
1 * ((2^127) / 4) = 42535295865117307932921825928971026432
2 * ((2^127) / 4) = 85070591730234615865843651857942052864
3 * ((2^127) / 4) = 127605887595351923798765477786913079296

If you move one you have to move the rest because the distance between
170141183460469231731687303715884105728 and 0 is 1

Mime
View raw message