Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Redis 基準測試工具 redis-benchmark 使用指南:參數詳解、實戰範例、結果解讀與效能調優方向

編輯:Linux 教學

實戰範例:1000 請求、200 並發、10KB 數據

redis-benchmark -h 192.168.1.56 -p 6379 -c 200 -n 1000 -d 10240 -q

輸出 (requests per second):

PING_INLINE: 1703.58
PING_BULK:   1628.66
SET:         1631.32
GET:         1594.90
INCR:        1655.63
LPUSH:       1494.77
LPOP:        1584.79
SADD:        1615.51
SPOP:        1636.66
LRANGE_100:  1633.99
LRANGE_300:   175.90
LRANGE_500:    93.62
LRANGE_600:    72.69
MSET(10):    1652.89

完整參數表

參數說明預設值
-h主機名127.0.0.1
-p埠號6379
-sUnix Socket 路徑—
-c並發連線數50
-n總請求數10000
-dSET/GET 數據體大小 (bytes)2
-k1=keepalive, 0=重連1
-r隨機 Key 模式—
-PPipeline 請求數1
-q僅顯示 qps (安靜模式)—
--csvCSV 輸出—
-l無限循環測試—
-t指定測試命令列表 (逗號分隔)全部
-IIdle 模式:建立 N 連線保持等待—

結果解讀關鍵點

  1. PING/SET/GET/INCR:基礎指令吞吐,反映網路/CPU/單線程處理極限。
  2. LRANGE_100/300/500/600:列表範圍讀取隨長度增長劇烈下降,警示大列表讀取效能風險。
  3. MSET:管線批量寫入效率遠高於單條 SET。
  4. 對比 -c (並發) 與 -P (Pipeline) 組合,找出最佳吞吐點。

效能調優方向

  • 啟用 Pipeline:-P 10 或更高,大幅降低 RTT 開銷。
  • 連線池復用:生產環境使用連線池 (JedisPool, Lettuce, go-redis) 避免頻繁握手。
  • 避免大 Key/大集合:拆分大 List/Set/Hash,或用 SCAN 分頁讀取。
  • 適當啟用 Lua 腳本:原子化多步操作,減少網路往返。
  • 監控關鍵指標:INFO 中 instantaneous_ops_per_sec、rejected_connections、mem_fragmentation_ratio。

生產環境壓測建議

  1. 使用專用壓測機,避免干擾線上流量。
  2. 模擬真實業務 Key 分佈 (-r 隨機 Key) 與數據大小 (-d)。
  3. 長時間運行 (-l) 觀察穩態表現與記憶體碎片增長。
  4. 對比不同版本/配置 (如 io-threads, lazyfree-lazy-eviction) 的基準差異。
Copyright © Windows教程網 All Rights Reserved