Redis performance test
Redis performance testing is achieved by executing multiple commands simultaneously.
grammar
The basic commands for redis performance testing are as follows:
redis-benchmark [option][option value]
Example
The following example performs 10,000 simultaneous requests to check performance:
redis-benchmark -n 10000 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 test tool are as follows:
ordinal option description default value1 | -h | Specify the server hostname | 127.0.0.1 |
2 | -p | Specify the server port | 6379 |
3 | -s | Specify the server socket | |
4 | -c | Specify the number of concurrent connections | 50 |
5 | -n | Specify the number of requests | 10000 |
6 | -d | Specifies the data size of the SET/GET value in bytes | 2 |
7 | -k | 1=keep alive 0=reconnect | 1 |
8 | -r | SET/GET/INCR uses random keys, SADD uses random values | |
9 | -P | Pipe <numreq> requests | 1 |
10 | -q | Force quit redis. Only show query/sec values | |
11 | --csv | Output in CSV format | |
12 | -l | Generate loops that execute tests permanently | |
13 | -t | Run only a comma-separated list of test commands. | |
14 | -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 executed command is set,lpush, and the number of requests is 10000. The -q parameter allows the result to only display the number of requests executed per second.