語法
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
喜歡就支持一下吧
相關推薦