Redis 效能測試 (建議:redis入門教學)
語法
redis-benchmark [option] [option value]
實例
實例一
以下實例同時執行1000 個請求來偵測效能:
$ redis-benchmark -n 1000 -q
ps: 本機docker 暫時不支援指令。結果跳過,請自行測試。
redis:6379> benchmark -n 1000 -q (error) ERR unknown command 'benchmark'
實例二
主機為127.0.0.1,連接埠號碼為6379,執行的指令為set, lpush,請求數為1000,透過-q 參數讓結果只顯示每秒執行的請求數。
$ redis-benchmark -h 127.0.0.1 -p 6379 -t set,lpush -n 1000 -q
效能測試參數
序號 | 選項 | 描述 | #預設值 |
---|---|---|---|
1 | -h | 指定伺服器主機名稱 | 127.0.0.1 |
2 | # -p | 指定伺服器連接埠 | 6379 |
#3 | -s | 指定伺服器 | socket |
4 | -c | #指定並發連線數 | 50 |
5 | -n | 指定請求數 | 10000 |
6 | -d | 以位元組的形式指定SET/GET 值的資料大小 | 2 |
#7 | -k | #1=keep alive 0=reconnect | 1 |
#8 | -r | SET/GET/INCR 使用隨機key , SADD 使用隨機值 | |
9 | -P | 透過管道傳送 請求 | 1 |
10 | -q | 強制退出redis。僅顯示query/sec 值 | |
11 | –csv | 以CSV 格式輸出 | |
#12 | -l | #產生循環,永久執行測試 | |
13 | -t | 僅執行以逗號分隔的測試指令清單。 |
# |
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视频教程
以上是redis效能測試與客戶端連線詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!