Operations per second hit a hard limit
Hello, I am testing couchbase 1.8.1 on a single server using C++ library libcouchbase on ECLIPSE platform Version 3.6.1 and I seem to reach a hard limit on the number of operations per second (at around 70K).
CPU usage and IO are very low while hitting the limit so I'm wondering if there is something I am missing, like if I could change or adjust some parameters (maybe in a config file) to stop this from happenning.
Some benchmarks done by CISCO claim up to 250K operations per second for a single server (http://blog.couchbase.com/understanding-performance-benchmark-published-...).
I have tried both with and without the following command
(void)libcouchbase_behavior_set_syncmode(instanceh2hid,LIBCOUCHBASE_SYNCHRONOUS);
OS:
CENTOS Release 6.2(Final)
Kernel Linux 2.6.32-220.el6.x86_64
Server:
64 X AMD Opteron(TM) Processor 6274
RAM: 252.3 GiB
Cluster: Total: 225 GB
Bucket 1: 135GB/185GB Item count: 1386592706
Bucket 2: 24.4GB/34.5GB Item count: 113751337
Thanks in advance
I've got a script to run any number of clients. Here is a table of clients vs. ops:
CLIENTS OPS/1000
1 9
2 18
3 26
4 33
5 42
6 54
7 59
8 63
9 66
10 67
15 67
20 67
30 67
100 67
Key is (long long) and value is (int).
Cluster is in the same server as clients
Hope this helps
Thanks
If I understand correctly you are running everything off of the same machine. When I did my benchmarking about a year ago I used a single Couchbase server and multiple clients spread over multiple machines. I think what is happening here is that you have so much running on this single node that your clients aren't capable of generating any more network traffic because you CPU is likely already maxed out.
In my tests I set up 5 client machines and 1 server machine and had each client machine running with 16 client threads using the Couchbase Java SDK. I found 16 threads produced the highest and most reliable throughput. For values over 512 bytes I maxed out the network. For values under 512k was able to do about 230k ops/sec.
How many clients do you have running and how large is your value size?
I ask because you might be doing the maximum amount of ops/sec capable by the client and are not hitting the server maximum. The value sie is also important because you might be maxing out the bandwidth of your network.