Your company here, and a link to your site. Click to find out more.

keydb-benchmark - Man Page

KeyDB benchmark


keydb-benchmark [ options ]


KeyDB is an open source (BSD licensed), in-memory data structure store, used as database, cache and message broker, found at https://docs.keydb.dev/

The keydb-benchmark command is a command to benchmark keydb-server.


-h hostname

Server hostname (default:

-p port

Server port (default: 6379).

-s socket

Server socket (overrides hostname and port).

-a password

Password to use when connecting to the server.

-c clients

Number of parallel connections (default 50)

-dnnum db

SELECT the specified db number (default 0)

-k boolean

1=keep alive 0=reconnect (default 1)

-r keyspacelen

Use random keys for SET/GET/INCR, random values for SADD Using this option the benchmark will expand the string __rand_int__ inside an argument with a 12 digits number in the specified range from 0 to keyspacelen-1. The substitution changes every time a command is executed. Default tests use this to hit random keys in the specified range.

-P numreq

Pipeline <numreq> requests. Default 1 (no pipeline).


If server replies with errors, show them on stdout. (no more than 1 error per second is displayed)


Quiet. Just show query/sec values


Output in CSV format


Loop. Run the tests forever

-t tests

Only run the comma separated list of tests. The test names are the same as the ones produced as output.


Idle mode. Just open N idle connections and wait.


Run the benchmark with the default configuration against

$ keydb-benchmark

Use 20 parallel clients, for a total of 100k requests, against

$ keydb-benchmark -h -p 6379 -n 100000 -c 20

Fill with about 1 million keys only using the SET test:

$ keydb-benchmark -t set -n 1000000 -r 100000000

Benchmark for a few commands producing CSV output:

$ keydb-benchmark -t ping,set,get -n 100000 --csv

Benchmark a specific command line:

$ keydb-benchmark -r 10000 -n 10000 eval 'return keydb.call("ping")' 0

Fill a list with 10000 random elements:

$ keydb-benchmark -r 10000 -n 10000 lpush mylist __rand_int__

On user specified command lines __rand_int__ is replaced with a random integer

with a range of values selected by the -r option.


See: https://docs.keydb.dev and https://github.com/JohnSully/KeyDB.git/issues


2019 KeyDB User commands