首頁  >  文章  >  資料庫  >  redis效能測試與客戶端連線詳解

redis效能測試與客戶端連線詳解

尚
轉載
2019-11-28 16:36:161882瀏覽

redis效能測試與客戶端連線詳解

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中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除