From 6175102ccfb445ac9752190ed15eac5b36064e45 Mon Sep 17 00:00:00 2001 From: Konstantin Lebedev <9497591+kmlebedev@users.noreply.github.com> Date: Mon, 16 Oct 2023 11:02:27 +0500 Subject: [PATCH] add make benchmark with WARP (#4914) add make benchmark Co-authored-by: Konstantin Lebedev <9497591+kmlebedev@users.noreply.github.co> --- Makefile | 20 ++++++++++++++++- README.md | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 84 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 6ca6cae0d..9ae877fa6 100644 --- a/Makefile +++ b/Makefile @@ -1,17 +1,35 @@ BINARY = weed SOURCE_DIR = . +debug ?= 0 all: install install: cd weed; go install +warp_install: + go install github.com/minio/warp@v0.7.6 + full_install: cd weed; go install -tags "elastic gocdk sqlite ydb tikv" server: install weed -v 4 server -s3 -filer -volume.max=0 -master.volumeSizeLimitMB=1024 -volume.preStopSeconds=1 -s3.port=8000 -s3.allowEmptyFolder=false -s3.allowDeleteBucketNotEmpty=false -s3.config=./docker/compose/s3.json +benchmark: install warp_install + pkill weed || true + pkill warp || true + weed server -debug=$(debug) -s3 -filer -volume.max=0 -master.volumeSizeLimitMB=1024 -volume.preStopSeconds=1 -s3.port=8000 -s3.allowEmptyFolder=false -s3.allowDeleteBucketNotEmpty=false -s3.config=./docker/compose/s3.json & + warp client & + while ! nc -z localhost 8000 ; do sleep 1 ; done + warp mixed --host=127.0.0.1:8000 --access-key=some_access_key1 --secret-key=some_secret_key1 --autoterm + pkill warp + pkill weed + +# curl -o profile "http://127.0.0.1:6060/debug/pprof/profile?debug=1" +benchmark_with_pprof: debug = 1 +benchmark_with_pprof: benchmark + test: - cd weed; go test -tags "elastic gocdk sqlite ydb tikv" -v ./... + cd weed; go test -tags "elastic gocdk sqlite ydb tikv" -v ./... \ No newline at end of file diff --git a/README.md b/README.md index a2ac00a5e..37b751e55 100644 --- a/README.md +++ b/README.md @@ -582,6 +582,71 @@ Percentage of the requests served within a certain time (ms) 100% 54.1 ms ``` +### Run WARP and launch a mixed benchmark. ### + +``` +make benchmark +warp: Benchmark data written to "warp-mixed-2023-10-16[102354]-l70a.csv.zst" +Mixed operations. +Operation: DELETE, 10%, Concurrency: 20, Ran 4m59s. + * Throughput: 6.19 obj/s + +Operation: GET, 45%, Concurrency: 20, Ran 5m0s. + * Throughput: 279.85 MiB/s, 27.99 obj/s + +Operation: PUT, 15%, Concurrency: 20, Ran 5m0s. + * Throughput: 89.86 MiB/s, 8.99 obj/s + +Operation: STAT, 30%, Concurrency: 20, Ran 5m0s. + * Throughput: 18.63 obj/s + +Cluster Total: 369.74 MiB/s, 61.79 obj/s, 0 errors over 5m0s. +``` + +To see segmented request statistics, use the --analyze.v parameter. +``` +warp analyze --analyze.v warp-mixed-2023-10-16[102354]-l70a.csv.zst +18642 operations loaded... Done! +Mixed operations. +---------------------------------------- +Operation: DELETE - total: 1854, 10.0%, Concurrency: 20, Ran 5m0s, starting 2023-10-16 10:23:57.115 +0500 +05 + * Throughput: 6.19 obj/s + +Requests considered: 1855: + * Avg: 104ms, 50%: 30ms, 90%: 207ms, 99%: 1.355s, Fastest: 1ms, Slowest: 4.613s, StdDev: 320ms + +---------------------------------------- +Operation: GET - total: 8388, 45.3%, Size: 10485760 bytes. Concurrency: 20, Ran 5m0s, starting 2023-10-16 10:23:57.12 +0500 +05 + * Throughput: 279.77 MiB/s, 27.98 obj/s + +Requests considered: 8389: + * Avg: 221ms, 50%: 106ms, 90%: 492ms, 99%: 1.739s, Fastest: 8ms, Slowest: 8.633s, StdDev: 383ms + * TTFB: Avg: 81ms, Best: 2ms, 25th: 24ms, Median: 39ms, 75th: 65ms, 90th: 171ms, 99th: 669ms, Worst: 4.783s StdDev: 163ms + * First Access: Avg: 240ms, 50%: 105ms, 90%: 511ms, 99%: 2.08s, Fastest: 12ms, Slowest: 8.633s, StdDev: 480ms + * First Access TTFB: Avg: 88ms, Best: 2ms, 25th: 24ms, Median: 38ms, 75th: 64ms, 90th: 179ms, 99th: 919ms, Worst: 4.783s StdDev: 199ms + * Last Access: Avg: 219ms, 50%: 106ms, 90%: 463ms, 99%: 1.782s, Fastest: 9ms, Slowest: 8.633s, StdDev: 416ms + * Last Access TTFB: Avg: 81ms, Best: 2ms, 25th: 24ms, Median: 39ms, 75th: 65ms, 90th: 161ms, 99th: 657ms, Worst: 4.783s StdDev: 176ms + +---------------------------------------- +Operation: PUT - total: 2688, 14.5%, Size: 10485760 bytes. Concurrency: 20, Ran 5m0s, starting 2023-10-16 10:23:57.115 +0500 +05 + * Throughput: 89.83 MiB/s, 8.98 obj/s + +Requests considered: 2689: + * Avg: 1.165s, 50%: 878ms, 90%: 2.015s, 99%: 5.74s, Fastest: 99ms, Slowest: 8.264s, StdDev: 968ms + +---------------------------------------- +Operation: STAT - total: 5586, 30.2%, Concurrency: 20, Ran 5m0s, starting 2023-10-16 10:23:57.113 +0500 +05 + * Throughput: 18.63 obj/s + +Requests considered: 5587: + * Avg: 15ms, 50%: 11ms, 90%: 34ms, 99%: 80ms, Fastest: 0s, Slowest: 245ms, StdDev: 17ms + * First Access: Avg: 14ms, 50%: 10ms, 90%: 33ms, 99%: 69ms, Fastest: 0s, Slowest: 203ms, StdDev: 16ms + * Last Access: Avg: 15ms, 50%: 11ms, 90%: 34ms, 99%: 74ms, Fastest: 0s, Slowest: 203ms, StdDev: 17ms + +Cluster Total: 369.64 MiB/s, 61.77 obj/s, 0 errors over 5m0s. +Total Errors:0. +``` + [Back to TOC](#table-of-contents) ## License ##