Redis的query分析小工具 redis-faina
redis-faina 是由Instagram 開發并開源的一個Redis 查詢分析小工具。Instagram團隊曾經使用PGFouine 來作為其PostgreSQL的查詢分析工具,他們覺得Redis也需要一個類似的工具來進行query分析工作,于是開發了redis-faina。
redis-faina 是通過Redis的MONITOR命令來實現的,通過對在Redis上執行的query進行監控,統計出一段時間的query特性。
下面就是其使用方法簡介:
# 可以通過管道從stdin讀取N條命令 redis-cli -p 6490 MONITOR | head -n <NUMBER OF LINES TO ANALYZE> | ./redis-faina.py # 也可以從一個文件中讀取N條命令 redis-cli -p 6490 MONITOR | head -n <...> > /tmp/outfile.txt ./redis-faina.py /tmp/outfile.txt其輸出結果如下:
Overall Stats ======================================== Lines Processed 117773 Commands/Sec 11483.44 Top Prefixes(按key前綴統計) ======================================== friendlist 69945 followedbycounter 25419 followingcounter 10139 recentcomments 3276 queued 7 Top Keys(操作最頻繁的key) ======================================== friendlist:zzz:1:2 534 followingcount:zzz 227 friendlist:zxz:1:2 167 friendlist:xzz:1:2 165 friendlist:yzz:1:2 160 friendlist:gzz:1:2 160 friendlist:zdz:1:2 160 friendlist:zpz:1:2 156 Top Commands(執行最多的命令) ======================================== SISMEMBER 59545 HGET 27681 HINCRBY 9413 SMEMBERS 9254 MULTI 3520 EXEC 3520 LPUSH 1620 EXPIRE 1598 Command Time (microsecs)(命令執行時長) ======================================== Median 78.25 75% 105.0 90% 187.25 99% 411.0 Heaviest Commands (microsecs)(耗時最多的命令) ======================================== SISMEMBER 5331651.0 HGET 2618868.0 HINCRBY 961192.5 SMEMBERS 856817.5 MULTI 311339.5 SADD 54900.75 SREM 40771.25 EXEC 28678.5 Slowest Calls(最慢的命令) ======================================== 3490.75 "SMEMBERS" "friendlist:zzz:1:2" 2362.0 "SMEMBERS" "friendlist:xzz:1:3" 2061.0 "SMEMBERS" "friendlist:zpz:1:2" 1961.0 "SMEMBERS" "friendlist:yzz:1:2" 1947.5 "SMEMBERS" "friendlist:zpz:1:2" 1459.0 "SISMEMBER" "friendlist:hzz:1:2" "zzz" 1416.25 "SMEMBERS" "friendlist:zhz:1:2" 1389.75 "SISMEMBER" "friendlist:zzx:1:2" "zzz"
從上面結果我們可以看到對Redis的操作規律,比如針對哪些key在進行操作,進行了什么操作,這些操作的效率如何等相關有用信息。
由于Redis的MONITOR 也對性能有所影響,所以建議在使用時不要一直開啟MONITOR來分析。可以采用定時抽樣一段時間來做樣本分析。
項目主頁:http://www.baiduhome.net/lib/view/home/1337300359760
文/NoSQLFan
本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!