forked from mirror/ledisdb
adjust benchmark
This commit is contained in:
parent
c516efa800
commit
9eaab3fba2
|
@ -6,6 +6,7 @@ import (
|
||||||
"github.com/siddontang/ledisdb/client/go/ledis"
|
"github.com/siddontang/ledisdb/client/go/ledis"
|
||||||
"math/rand"
|
"math/rand"
|
||||||
"sync"
|
"sync"
|
||||||
|
"sync/atomic"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -13,6 +14,7 @@ var ip = flag.String("ip", "127.0.0.1", "redis/ledis/ssdb server ip")
|
||||||
var port = flag.Int("port", 6380, "redis/ledis/ssdb server port")
|
var port = flag.Int("port", 6380, "redis/ledis/ssdb server port")
|
||||||
var number = flag.Int("n", 1000, "request number")
|
var number = flag.Int("n", 1000, "request number")
|
||||||
var clients = flag.Int("c", 50, "number of clients")
|
var clients = flag.Int("c", 50, "number of clients")
|
||||||
|
var reverse = flag.Bool("rev", false, "enable zset rev benchmark")
|
||||||
|
|
||||||
var wg sync.WaitGroup
|
var wg sync.WaitGroup
|
||||||
|
|
||||||
|
@ -52,9 +54,14 @@ func bench(cmd string, f func()) {
|
||||||
fmt.Printf("%s: %0.2f requests per second\n", cmd, (float64(*number) / delta))
|
fmt.Printf("%s: %0.2f requests per second\n", cmd, (float64(*number) / delta))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var kvSetBase int64 = 0
|
||||||
|
var kvGetBase int64 = 0
|
||||||
|
var kvIncrBase int64 = 0
|
||||||
|
var kvDelBase int64 = 0
|
||||||
|
|
||||||
func benchSet() {
|
func benchSet() {
|
||||||
f := func() {
|
f := func() {
|
||||||
n := rand.Int()
|
n := atomic.AddInt64(&kvSetBase, 1)
|
||||||
waitBench("set", n, n)
|
waitBench("set", n, n)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -62,6 +69,15 @@ func benchSet() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func benchGet() {
|
func benchGet() {
|
||||||
|
f := func() {
|
||||||
|
n := atomic.AddInt64(&kvGetBase, 1)
|
||||||
|
waitBench("get", n)
|
||||||
|
}
|
||||||
|
|
||||||
|
bench("get", f)
|
||||||
|
}
|
||||||
|
|
||||||
|
func benchRandGet() {
|
||||||
f := func() {
|
f := func() {
|
||||||
n := rand.Int()
|
n := rand.Int()
|
||||||
waitBench("get", n)
|
waitBench("get", n)
|
||||||
|
@ -72,13 +88,22 @@ func benchGet() {
|
||||||
|
|
||||||
func benchIncr() {
|
func benchIncr() {
|
||||||
f := func() {
|
f := func() {
|
||||||
n := rand.Int()
|
n := atomic.AddInt64(&kvIncrBase, 1)
|
||||||
waitBench("incr", n)
|
waitBench("incr", n)
|
||||||
}
|
}
|
||||||
|
|
||||||
bench("incr", f)
|
bench("incr", f)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func benchDel() {
|
||||||
|
f := func() {
|
||||||
|
n := atomic.AddInt64(&kvDelBase, 1)
|
||||||
|
waitBench("del", n)
|
||||||
|
}
|
||||||
|
|
||||||
|
bench("del", f)
|
||||||
|
}
|
||||||
|
|
||||||
func benchPushList() {
|
func benchPushList() {
|
||||||
f := func() {
|
f := func() {
|
||||||
n := rand.Int()
|
n := rand.Int()
|
||||||
|
@ -120,9 +145,14 @@ func benchPopList() {
|
||||||
bench("lpop", f)
|
bench("lpop", f)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var hashSetBase int64 = 0
|
||||||
|
var hashIncrBase int64 = 0
|
||||||
|
var hashGetBase int64 = 0
|
||||||
|
var hashDelBase int64 = 0
|
||||||
|
|
||||||
func benchHset() {
|
func benchHset() {
|
||||||
f := func() {
|
f := func() {
|
||||||
n := rand.Int()
|
n := atomic.AddInt64(&hashSetBase, 1)
|
||||||
waitBench("hset", "myhashkey", n, n)
|
waitBench("hset", "myhashkey", n, n)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -131,7 +161,7 @@ func benchHset() {
|
||||||
|
|
||||||
func benchHIncr() {
|
func benchHIncr() {
|
||||||
f := func() {
|
f := func() {
|
||||||
n := rand.Int()
|
n := atomic.AddInt64(&hashIncrBase, 1)
|
||||||
waitBench("hincrby", "myhashkey", n, 1)
|
waitBench("hincrby", "myhashkey", n, 1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -139,6 +169,15 @@ func benchHIncr() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func benchHGet() {
|
func benchHGet() {
|
||||||
|
f := func() {
|
||||||
|
n := atomic.AddInt64(&hashGetBase, 1)
|
||||||
|
waitBench("hget", "myhashkey", n)
|
||||||
|
}
|
||||||
|
|
||||||
|
bench("hget", f)
|
||||||
|
}
|
||||||
|
|
||||||
|
func benchHRandGet() {
|
||||||
f := func() {
|
f := func() {
|
||||||
n := rand.Int()
|
n := rand.Int()
|
||||||
waitBench("hget", "myhashkey", n)
|
waitBench("hget", "myhashkey", n)
|
||||||
|
@ -149,16 +188,20 @@ func benchHGet() {
|
||||||
|
|
||||||
func benchHDel() {
|
func benchHDel() {
|
||||||
f := func() {
|
f := func() {
|
||||||
n := rand.Int()
|
n := atomic.AddInt64(&hashDelBase, 1)
|
||||||
waitBench("hdel", "myhashkey", n)
|
waitBench("hdel", "myhashkey", n)
|
||||||
}
|
}
|
||||||
|
|
||||||
bench("hdel", f)
|
bench("hdel", f)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var zsetAddBase int64 = 0
|
||||||
|
var zsetDelBase int64 = 0
|
||||||
|
var zsetIncrBase int64 = 0
|
||||||
|
|
||||||
func benchZAdd() {
|
func benchZAdd() {
|
||||||
f := func() {
|
f := func() {
|
||||||
n := rand.Int()
|
n := atomic.AddInt64(&zsetAddBase, 1)
|
||||||
waitBench("zadd", "myzsetkey", n, n)
|
waitBench("zadd", "myzsetkey", n, n)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -167,7 +210,7 @@ func benchZAdd() {
|
||||||
|
|
||||||
func benchZDel() {
|
func benchZDel() {
|
||||||
f := func() {
|
f := func() {
|
||||||
n := rand.Int()
|
n := atomic.AddInt64(&zsetDelBase, 1)
|
||||||
waitBench("zrem", "myzsetkey", n)
|
waitBench("zrem", "myzsetkey", n)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -176,7 +219,7 @@ func benchZDel() {
|
||||||
|
|
||||||
func benchZIncr() {
|
func benchZIncr() {
|
||||||
f := func() {
|
f := func() {
|
||||||
n := rand.Int()
|
n := atomic.AddInt64(&zsetIncrBase, 1)
|
||||||
waitBench("zincrby", "myzsetkey", 1, n)
|
waitBench("zincrby", "myzsetkey", 1, n)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -239,6 +282,8 @@ func main() {
|
||||||
benchSet()
|
benchSet()
|
||||||
benchIncr()
|
benchIncr()
|
||||||
benchGet()
|
benchGet()
|
||||||
|
benchRandGet()
|
||||||
|
benchDel()
|
||||||
|
|
||||||
benchPushList()
|
benchPushList()
|
||||||
benchRangeList10()
|
benchRangeList10()
|
||||||
|
@ -249,13 +294,20 @@ func main() {
|
||||||
benchHset()
|
benchHset()
|
||||||
benchHGet()
|
benchHGet()
|
||||||
benchHIncr()
|
benchHIncr()
|
||||||
|
benchHRandGet()
|
||||||
benchHDel()
|
benchHDel()
|
||||||
|
|
||||||
benchZAdd()
|
benchZAdd()
|
||||||
benchZIncr()
|
benchZIncr()
|
||||||
benchZRangeByRank()
|
benchZRangeByRank()
|
||||||
benchZRangeByScore()
|
benchZRangeByScore()
|
||||||
benchZRevRangeByRank()
|
|
||||||
benchZRevRangeByScore()
|
//rev is too slow in leveldb, rocksdb or other
|
||||||
|
//maybe disable for huge data benchmark
|
||||||
|
if *reverse == true {
|
||||||
|
benchZRevRangeByRank()
|
||||||
|
benchZRevRangeByScore()
|
||||||
|
}
|
||||||
|
|
||||||
benchZDel()
|
benchZDel()
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue