Redis Performance Test

Redis performance testing is achieved by executing multiple commands simultaneously.

Syntax

The basic command of redis performance testing is as follows:

redis-benchmark [option] [option value]

Note: This command is executed in the redis directory, not an internal command of the redis client.

Example

The following example executes 10000 requests simultaneously to test performance:

$ redis-benchmark -n 10000  -q

PING_INLINE: 141043.72 requests per second
PING_BULK: 142857.14 requests per second
SET: 141442.72 requests per second
GET: 145348.83 requests per second
INCR: 137362.64 requests per second
LPUSH: 145348.83 requests per second
LPOP: 146198.83 requests per second
SADD: 146198.83 requests per second
SPOP: 149253.73 requests per second
LPUSH (needed to benchmark LRANGE): 148588.42 requests per second
LRANGE_100 (first 100 elements): 58411.21 requests per second
LRANGE_300 (first 300 elements): 21195.42 requests per second
LRANGE_500 (first 450 elements): 14539.11 requests per second
LRANGE_600 (first 600 elements): 10504.20 requests per second
MSET (10 keys): 93283.58 requests per second

The optional parameters of the redis performance testing tool are as follows:

Serial numberOptionDescriptionDefault value
1 -h Specify server hostname 127.0.0.1
2 -p Specify server port 6379
3 -s Specify server socket
4 -c Specify the number of concurrent connections 50
5 -n Specify the number of requests 10000
6 -d Specify the data size of SET/GET values in bytes 2
7 -k 1=keep alive 0=reconnect 1
8 -r SET/GET/INCR use random key, SADD uses random value
9 -P Transfer <numreq> requests through the pipeline 1
10 -q Force quit redis. Only display the query/sec value.
11 --csv Output in CSV format
12 -l(lowercase letter L) Generate a loop and execute the test permanently.
13 -t Run only the comma-separated list of test commands.
14 -I(uppercase letter I) Idle mode. Only open N idle connections and wait.

Example

In the following example, we used multiple parameters to test redis performance:

$ redis-benchmark -h 127.0.0.1 -p 6379 -t set,lpush -n 10000 -q

SET: 146198.83 requests per second
LPUSH: 145560.41 requests per second

In the above example, the host is 127.0.0.1, the port number is 6379, the commands executed are set and lpush, the number of requests is 10000, and the -q parameter is used to make the results only display the number of requests executed per second.

Other extensions