Open roshkhatri opened 2 weeks ago
@valkey-io/core-team @valkey-io/contributors Worth reviewing to see if anything here seems suspicious in preparation for the 8.0 launch.
cluster mode
a single shard/primary setup?Is valkey-benchmark and valkey-server running on the same machine?
Does valkey-benchmark run without --threads
? If yes, then valkey-benchmark may be the bottleneck itself.
When I run valkey-server and valkey-benchmark locally and check top
while they are running, then I see valkey-benchmark is at 100% CPU but valkey-server is only at 90% CPU. It means valkey-benchmark can't send enough traffic. So I run valkey-benchmark with --threads 2
.
Nice! I have 2 questions: 1) have you considered adding median and percentiles (even just a 5%-95% range) in the report? It would make it easier to understand if the differences we see are significant or just noise. 2) do you plan to also run benchmarks for x86? I think that a lot of people are still using x86 and they may be looking specifically for benchmarks on that arch (even if in the end the results are similar)
@PingXie
the TLS results seem to come from unstable. is this expected? shouldn't it be 8.0 rc2 as well?
The tests are still running, I did not parallelize the setup. So its just taking time. I will update the results as they are generated.
EDIT: updated the top comment with Standalone Mode with TLS
and Cluster Mode with TLS
RPUSH/LPUSH on standalone TLS (unstable) stand out quite a bit. Do we know why? Note that the cluster mode TLS numbers show a different pattern.
Not yet.
@zuiderkwast
Is valkey-benchmark and valkey-server running on the same machine?
Yes
Does valkey-benchmark run without --threads? If yes, then valkey-benchmark may be the bottleneck itself.
I dont see it on my system though, I have checked multiple times, valkey-server
was mostly at 100 and valkey-benchmark
stays mostly around 80-97 but never cross valkey-server
.
@aiven-sal I will surely look for adding median and percentiles to the results.
do you plan to also run benchmarks for x86?
I have that setup as well. I can add those too.
The Benchmarking Setup:
r6g.metal
(ARM)clustermode
: single shard setup)SET
,GET
,RPUSH
,LPUSH
,LPOP
,SADD
,SPOP
,HSET
valkey-benchmark
andvalkey-server
were run on the same machine.r6g.metal
(ARM) Spec:Command to start the server:
Benchmark command:
Method of Running:
So I have implemented a script to run all the command test on the metal instance in all combinations of pipelining, data sizes, commands, cluster modes, and TLS modes.
I have created a public repo valkey-benchmark-tools where I have this script run_benchmark_tool.py which you can go can see how it is running all this.
Results:
Valkey 7.2.6 vs 8.0.0-rc2 Benchmark Results Comparison
Valkey Benchmark Results Comparison
Standalone
Standalone Mode with TLS
Cluster Mode
Cluster Mode with TLS
Also, let me know if you find any gaps in the script mentioned above and if I might be missing something.