Snapchat / KeyDB

A Multithreaded Fork of Redis
https://keydb.dev
BSD 3-Clause "New" or "Revised" License
11.02k stars 564 forks source link

Vertical scalability #818

Open bijanMC opened 3 months ago

bijanMC commented 3 months ago

A question with regard to the vertical scalability of KeyDB. I setup a i4i.8xlarge machine at AWS and ran the KeyDB server once with server-threads equals to 4 and once with 8 like below: keydb-server --save "" --protected-mode no --server-threads N

and then used memtier_benchmark on the same machine as below: memtier_benchmark -s localhost -p 6379 --hide-histogram --requests=10000 --clients=100 --threads=8 --pipeline=20 --data-size=2048

Result: --server-threads = 4

Type Ops/sec Hits/sec Misses/sec Avg. Latency p50 Latency p99 Latency p99.9 Latency KB/sec

Sets 188782.53 --- --- 7.69604 7.48700 15.55100 18.17500 386573.89 Gets 1885750.78 5808.69 1879942.09 7.68957 7.48700 15.55100 18.17500 85098.21 Waits 0.00 --- --- --- --- --- --- --- Totals 2074533.31 5808.69 1879942.09 7.69016 7.48700 15.55100 18.17500 471672.09

--server-threads = 8

Type Ops/sec Hits/sec Misses/sec Avg. Latency p50 Latency p99 Latency p99.9 Latency KB/sec

Sets 199474.68 --- --- 7.50754 6.94300 15.42300 49.15100 408468.42 Gets 1992554.77 0.00 1992554.77 7.49997 6.94300 15.35900 48.63900 77618.61 Waits 0.00 --- --- --- --- --- --- --- Totals 2192029.45 0.00 1992554.77 7.50066 6.94300 15.35900 48.63900 486087.03

It looks like KeyDB did not scale when the number of threads doubled. Probably I do not understand the notion of vertical scalability in KeyDB.