The OPS go down seriously when change a replica from zero to one on .net sdk

Hi,
We used Couchbase as a caching layer for our APP. We have 5 node, with couchbase 2.1.1 on CentOS release 5.6 which CPU is 4*1.9GHz and RAM is more than 8G and the network is Ethernet.And we used .net SDK 1.2.

We used the follow code store the data into couchbase:
"client.ExecuteStoreJson(StoreMode.Set, key, newBeer, PersistTo.Zero, ReplicateTo.Zero);"
I can reached over 6K OPS with ReplicateTo.ZERO. But I only got below 10 operations per second with ReplicateTo.ONE. And we evently got a timeout failure sometimes.
In our APP, ReplicateTo function is required, so we have to resolve the problem otherwise we will leave the couchbase.
My questions are:
1. What is happening?
2. How to resolve it the timeout faiure?
3. and the performance is extremely poor for ReplicateTo turn on. How to resolve it if it is required?

Thanks a lot,
Liu

1 Answer

« Back to question.

Hello,

It is true that in some case using ReplicateTo can have a big impact on the throughput and performance. In addition to the fact that the system has to write and check that that value has been copied to another node it the cluster we found a bug that is fixed in the next release. You can find information about this bug here: http://www.couchbase.com/issues/browse/MB-8453

Note that you can also use a 2 steps approach, so you save the data with not replicateTo and use observe to check if the keys have been replicated see http://www.couchbase.com/docs/couchbase-devguide-2.1.0/couchbase-sdk-whe...

Regards
Tug
@tgrall