May 16, 2021 Redis
Redis performance testing is achieved by executing multiple commands at the same time.
The basic commands for redis performance testing are as follows:
redis-benchmark [option] [option value]
The following instances perform 10,000 requests simultaneously to detect performance:
redis-benchmark -n 100000 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 for the redis performance testing tool are as follows:
Serial number | Options | Describe | The default |
---|---|---|---|
1 | -h | Specify the server host name | 127.0.0.1 |
2 | -p | Specify the server port | 6379 |
3 | -s | Specify the server socket | |
4 | -c | Specify the number of connecteds | 50 |
5 | -n | Specify the number of requests | 10000 |
6 | -d | Specify the data size of the SET/GET value as a byte | 2 |
7 | -k | 1=keep alive 0=reconnect | 1 |
8 | -r | SET/GET/INCR uses random keys, SADD uses random values | |
9 | -P | The request is piped | 1 |
10 | -q | Force exit redis. Only query/sec values are displayed | |
11 | --csv | Output in CSV format | |
12 | -l | Build a loop to perform the test permanently | |
13 | -t | Run only the list of test commands separated by commas. | |
14 | -I | Idle mode. Open only N idle connections and wait. |
The following examples show that we used several parameters to test redis performance:
redis-benchmark -h 127.0.0.1 -p 6379 -t set,lpush -n 100000 -q SET: 146198.83 requests per second LPUSH: 145560.41 requests per second
In the above instance, the host is 127.0.0.1, the port number is 6379, the command is set, lpush is executed, the number of requests is 10000, and the result is shown by the -q parameter only the number of requests executed per second.