From 5a99b806bd516fdaff2395019c2590357c15e544 Mon Sep 17 00:00:00 2001 From: Vladimir Mihailenco Date: Fri, 24 Mar 2017 12:48:43 +0200 Subject: [PATCH] Add cluster benchmark --- cluster_test.go | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/cluster_test.go b/cluster_test.go index 53a33631..d9db8975 100644 --- a/cluster_test.go +++ b/cluster_test.go @@ -1,6 +1,7 @@ package redis_test import ( + "bytes" "fmt" "net" "strconv" @@ -704,3 +705,36 @@ func BenchmarkRedisClusterPing(b *testing.B) { } }) } + +func BenchmarkRedisClusterSetString(b *testing.B) { + if testing.Short() { + b.Skip("skipping in short mode") + } + + cluster := &clusterScenario{ + ports: []string{"8220", "8221", "8222", "8223", "8224", "8225"}, + nodeIds: make([]string, 6), + processes: make(map[string]*redisProcess, 6), + clients: make(map[string]*redis.Client, 6), + } + + if err := startCluster(cluster); err != nil { + b.Fatal(err) + } + defer stopCluster(cluster) + + client := cluster.clusterClient(redisClusterOptions()) + defer client.Close() + + value := string(bytes.Repeat([]byte{'1'}, 10000)) + + b.ResetTimer() + + b.RunParallel(func(pb *testing.PB) { + for pb.Next() { + if err := client.Set("key", value, 0).Err(); err != nil { + b.Fatal(err) + } + } + }) +}