I’ve been testing couchbase using couchnode driver. Got strange results (couchbase is too slow):
Benchmark test at Sat Feb 16 2013 14:31:37 GMT+0400 (MSK):
redis
Number of totaol request: 5000, CONCURRENT users: 50
Time taken for tests: 0.184 seconds
Complete requests: 5000
Failed requests: 0
Requests per second: 27173.91 [#/sec]
Time per request: 1.63 [ms]
Max response time: 10[ms] Response time distribute:
Response time | Num | Proportion
0 ~ 5 | 4942 | 98.84%
5 ~ 10 | 47 | 0.94%
10 ~ 20 | 11 | 0.22%
20 ~ 30 | 0 | 0.00%
30 ~ 40 | 0 | 0.00%
40 ~ 50 | 0 | 0.00%
50 ~ 80 | 0 | 0.00%
80 ~ 100 | 0 | 0.00%
100 ~ 200 | 0 | 0.00%
200 ~ 300 | 0 | 0.00%
300 ~ 500 | 0 | 0.00%
500 ~ 1000 | 0 | 0.00%
1000 ~ 2000 | 0 | 0.00%
2000 ~ 3000 | 0 | 0.00%
3000 | 0 | 0.00%
Benchmark test at Sat Feb 16 2013 14:31:45 GMT+0400 (MSK):
couchbase
Number of totaol request: 5000, CONCURRENT users: 50
Time taken for tests: 6.64 seconds
Complete requests: 5000
Failed requests: 0
Requests per second: 753.01 [#/sec]
Time per request: 34.22 [ms]
Max response time: 104[ms]Response time distribute:
Response time | Num | Proportion
0 ~ 5 | 246 | 4.92%
5 ~ 10 | 418 | 8.36%
10 ~ 20 | 800 | 16.00%
20 ~ 30 | 798 | 15.96%
30 ~ 40 | 788 | 15.76%
40 ~ 50 | 742 | 14.84%
50 ~ 80 | 1127 | 22.54%
80 ~ 100 | 77 | 1.54%
100 ~ 200 | 4 | 0.08%
200 ~ 300 | 0 | 0.00%
300 ~ 500 | 0 | 0.00%
500 ~ 1000 | 0 | 0.00%
1000 ~ 2000 | 0 | 0.00%
2000 ~ 3000 | 0 | 0.00%
3000 | 0 | 0.00%
Benchmark test at Sat Feb 16 2013 14:31:47 GMT+0400 (MSK):
pg
Number of totaol request: 5000, CONCURRENT users: 50
Time taken for tests: 0.666 seconds
Complete requests: 5000
Failed requests: 0
Requests per second: 7507.51 [#/sec]
Time per request: 3.51 [ms]
Max response time: 15[ms] Response time distribute:
Response time | Num | Proportion
0 ~ 5 | 3379 | 67.58%
5 ~ 10 | 1546 | 30.92%
10 ~ 20 | 75 | 1.50%
20 ~ 30 | 0 | 0.00%
30 ~ 40 | 0 | 0.00%
40 ~ 50 | 0 | 0.00%
50 ~ 80 | 0 | 0.00%
80 ~ 100 | 0 | 0.00%
100 ~ 200 | 0 | 0.00%
200 ~ 300 | 0 | 0.00%
300 ~ 500 | 0 | 0.00%
500 ~ 1000 | 0 | 0.00%
1000 ~ 2000 | 0 | 0.00%
2000 ~ 3000 | 0 | 0.00%
3000 | 0 | 0.00%
Benchmark test at Sat Feb 16 2013 14:31:49 GMT+0400 (MSK):
pg.native
Number of totaol request: 5000, CONCURRENT users: 50
Time taken for tests: 0.536 seconds
Complete requests: 5000
Failed requests: 0
Requests per second: 9328.36 [#/sec]
Time per request: 2.77 [ms]
Max response time: 8[ms] Response time distribute:
Response time | Num | Proportion
0 ~ 5 | 4195 | 83.90%
5 ~ 10 | 805 | 16.10%
10 ~ 20 | 0 | 0.00%
20 ~ 30 | 0 | 0.00%
30 ~ 40 | 0 | 0.00%
40 ~ 50 | 0 | 0.00%
50 ~ 80 | 0 | 0.00%
80 ~ 100 | 0 | 0.00%
100 ~ 200 | 0 | 0.00%
200 ~ 300 | 0 | 0.00%
300 ~ 500 | 0 | 0.00%
500 ~ 1000 | 0 | 0.00%
1000 ~ 2000 | 0 | 0.00%
2000 ~ 3000 | 0 | 0.00%
3000 | 0 | 0.00%
Is it couchnode or couchbase issue? Or this is usual for standalone couchbase instance?
Just tested on latest MacOS’s couchbase distribution.
benchmark methods are:
benchmarks.push _.extend {}, bm_defaults,
description: 'redis’
method: (cb) ->
redis.get ‘1’, (err, data) ->
cb err, JSON.parse data
benchmarks.push _.extend {}, bm_defaults,
description: 'couchbase’
method: (cb) ->
cbcli.get ‘1’, cb
benchmarks.push _.extend {}, bm_defaults,
description: 'pg’
method: (cb) ->
pg.query “SELECT 1”, cb
benchmarks.push _.extend {}, bm_defaults,
description: 'pg.native’
method: (cb) ->
pgn.query “SELECT 1”, cb