redis性能測試與客戶端連接詳解

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入門教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊10 分享