【redis專題(15)】Redis性能測試工具Redis-benchmark

指令說明

Usage: redis-benchmark [-h <host>] [-p <port>] [-c <clients>] [-n <requests]> [-k <boolean>]  
  
-h <hostname>      Server hostname (default 127.0.0.1)  
-p <port>          Server port (default 6379)  
-s <socket>        Server socket (overrides host and port)  
-c <clients>       Number of parallel connections (default 50)  
-n <requests>      Total number of requests (default 10000)  
-d <size>          Data size of SET/GET value in bytes (default 2)  
-k <boolean>       1=keep alive 0=reconnect (default 1)  

-r <keyspacelen>   Use random keys for SET/GET/INCR, random values for SADD  
Using this option the benchmark will get/set keys  
in the form mykey_rand:000000012456 instead of constant keys, the <keyspacelen> argument determines the max  
number of values for the random number. For instance  
if set to 10 only rand:000000000000 - rand:000000000009  
range will be allowed.  

-P <numreq>        Pipeline <numreq> requests. Default 1 (no pipeline).  
-q                 Quiet. Just show query/sec values 只顯示每秒鐘能處理多少請求數結果  
--csv              Output in CSV format  
-l                 Loop. Run the tests forever 永久測試  
-t <tests>         Only run the comma separated list of tests. The test names are the same as the ones produced as output.  
-I                 Idle mode. Just open N idle connections and wait.

示例

redis-benchmark -h 127.0.0.1 -p 6379 -q -d 100  #SET/GET 100 bytes 檢測host爲127.0.0.1 端口爲6379的redis服務器性能

redis-benchmark -h 127.0.0.1 -p 6379 -c 5000 -n 100000 #5000個併發鏈接,100000個請求,檢測host爲127.0.0.1 端口爲6379的redis服務器性能

測試信息

redis-benchmark -n 100000 -c 60 # 向redis服務器發送100000個請求,每一個請求附帶60個併發客戶端

結果(部分):redis

====== SET ======
對集合寫入測試服務器

100000 requests completed in 2.38 seconds # 100000個請求在2.38秒內完成
60 parallel clients # 每次請求有60個併發客戶端
3 bytes payload # 每次寫入3個字節的數據
keep alive: 1 # 保持一個鏈接,一臺服務器來處理這些請求

93.06% <= 15 milliseconds
99.96% <= 31 milliseconds
99.98% <= 46 milliseconds
99.99% <= 62 milliseconds
100.00% <= 62 milliseconds # 全部請求在62毫秒內完成
42105.26 requests per second #每秒處理42105.26次請求

其它測試併發

[root@localhost ~]# redis-benchmark -h 127.0.0.1 -p 6379 -c 5000 -n 100000  -d 100 -q  
PING_INLINE: 34506.55 requests per second  
PING_BULK: 34059.95 requests per second  
SET: 31959.09 requests per second  
GET: 31466.33 requests per second  
INCR: 33311.12 requests per second  
LPUSH: 29265.44 requests per second  
LPOP: 36968.58 requests per second  
SADD: 32030.75 requests per second  
SPOP: 33344.45 requests per second  
LPUSH (needed to benchmark LRANGE): 29735.36 requests per second  
LRANGE_100 (first 100 elements): 16116.04 requests per second  
LRANGE_300 (first 300 elements): 6659.56 requests per second  
LRANGE_500 (first 450 elements): 4108.29 requests per second
相關文章
相關標籤/搜索