diff options
| author | Chris Lu <chris.lu@gmail.com> | 2021-10-06 00:37:57 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2021-10-06 00:37:57 -0700 |
| commit | 6b31f3c97a5d12b29e93182db10fdddd82e198b5 (patch) | |
| tree | fa2d4488a6ac806e4977bc7c24f2e2dd22a0f947 | |
| parent | 893f0587b17c0e30e8e3e7eb4b3c486546f41651 (diff) | |
| download | seaweedfs-6b31f3c97a5d12b29e93182db10fdddd82e198b5.tar.xz seaweedfs-6b31f3c97a5d12b29e93182db10fdddd82e198b5.zip | |
add benchmark test
| -rw-r--r-- | weed/filer/redis3/kv_directory_children_test.go | 54 |
1 files changed, 49 insertions, 5 deletions
diff --git a/weed/filer/redis3/kv_directory_children_test.go b/weed/filer/redis3/kv_directory_children_test.go index 7c086bdfb..1b97d8aaf 100644 --- a/weed/filer/redis3/kv_directory_children_test.go +++ b/weed/filer/redis3/kv_directory_children_test.go @@ -1,9 +1,11 @@ package redis3 import ( + "context" "github.com/chrislusf/seaweedfs/weed/util/skiplist" - goredislib "github.com/go-redis/redis/v8" + "github.com/go-redis/redis/v8" "github.com/stvp/tempredis" + "strconv" "testing" ) @@ -43,7 +45,7 @@ func TestNameList(t *testing.T) { } defer server.Term() - client := goredislib.NewClient(&goredislib.Options{ + client := redis.NewClient(&redis.Options{ Network: "unix", Addr: server.Socket(), }) @@ -55,12 +57,10 @@ func TestNameList(t *testing.T) { nameList.WriteName(name) nameList.ListNames("", func(name string) bool { - println(" * ", name) return true }) if nameList.HasChanges() { - println("has some changes") data = nameList.ToBytes() } println() @@ -72,4 +72,48 @@ func TestNameList(t *testing.T) { return true }) -}
\ No newline at end of file +} + +func BenchmarkNameList(b *testing.B) { + + server, err := tempredis.Start(tempredis.Config{}) + if err != nil { + panic(err) + } + defer server.Term() + + client := redis.NewClient(&redis.Options{ + Network: "unix", + Addr: server.Socket(), + }) + + store := newSkipListElementStore("/yyy/bin", client) + var data []byte + for i := 0; i < b.N; i++ { + nameList := skiplist.LoadNameList(data, store, maxNameBatchSizeLimit) + + nameList.WriteName("name"+strconv.Itoa(i)) + + if nameList.HasChanges() { + data = nameList.ToBytes() + } + } +} + +func BenchmarkRedis(b *testing.B) { + + server, err := tempredis.Start(tempredis.Config{}) + if err != nil { + panic(err) + } + defer server.Term() + + client := redis.NewClient(&redis.Options{ + Network: "unix", + Addr: server.Socket(), + }) + + for i := 0; i < b.N; i++ { + client.ZAddNX(context.Background(),"/yyy/bin", &redis.Z{Score: 0, Member: "name"+strconv.Itoa(i)}) + } +} |
