Redis Performance Test (Recommended: redis introductory tutorial)
Syntax
redis-benchmark [option] [option value]
Example
Example 1
The following example executes 1000 requests at the same time to test performance:
$ redis-benchmark -n 1000 -q
ps: Local docker does not support the command temporarily. The result is skipped, please test by yourself.
redis:6379> benchmark -n 1000 -q (error) ERR unknown command 'benchmark'
Example 2
The host is 127.0.0.1, the port number is 6379, the executed commands are set, lpush, the number of requests is 1000, and the -q parameter is used to allow the results to only display execution per second number of requests.
$ redis-benchmark -h 127.0.0.1 -p 6379 -t set,lpush -n 1000 -q
Performance test parameters
Serial number | Option | Description | Default value |
---|---|---|---|
1 | -h | Specify the server host name | 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 the SET/GET value in bytes | 2 |
7 | -k | 1=keep alive 0=reconnect | 1 |
8 | -r | SET/GET/INCR Use random key , SADD uses a random value | |
-P | to pipe the request | 1 | |
-q | Force to exit redis. Display only query/sec values | ||
–csv | Output in CSV format | ||
-l | Generate a loop and execute the test forever |
|
|
-t | Run only a comma-separated list of test commands. | ||
14 | -I | Idle 模式。仅打开 N 个 idle 连接并等待。 |
Redis 客户端连接
Redis 通过监听一个 TCP 端口或者 Unix socket 的方式来接收来自客户端的连接,当一个连接建立后,Redis 内部会进行以下一些操作:
首先,客户端 socket 会被设置为非阻塞模式,因为 Redis 在网络事件处理上采用的是非阻塞多路复用模型。
然后为这个 socket 设置 TCP_NODELAY 属性,禁用 Nagle 算法
然后创建一个可读的文件事件用于监听这个客户端 socket 的数据发送
最大连接数
redis:6379> config get maxclients 1) "maxclients" 2) "10000"
实例
启动时设置最大连接数为 999
redis-server --maxclients 999
客户端命令
S.N. | 命令 | 描述 |
---|---|---|
1 | CLIENT LIST | 返回连接到 redis 服务的客户端列表 |
2 | CLIENT SETNAME | 设置当前连接的名称 |
3 | CLIENT GETNAME | 获取通过 CLIENT SETNAME 命令设置的服务名称 |
4 | CLIENT PAUSE | 挂起客户端连接,指定挂起的时间以毫秒计 |
5 | CLIENT KILL | 关闭客户端连接 |
推荐:redis视频教程
The above is the detailed content of Detailed explanation of redis performance testing and client connection. For more information, please follow other related articles on the PHP Chinese website!