Redis的query分析小工具 redis-faina

BSD
Python
Linux
2012-05-18
红薯

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💤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💤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来分析。可以采用定时抽样一段时间来做样本分析。

文/NoSQLFan

加载中

评论(0)

暂无评论

暂无资讯

暂无问答

redis监控客户端redis-cli

1、原生的监控视图 1)redis-cli --stat查看当前连接的客户端数,连接数等 2)redis-cli --bigkeys对当前占用内存最大的键值和平均的键值数据,也可以通过指定-i参数定时查看当前的视图情况。...

2016/08/31 14:27
45
0
Redis的query分析小工具 redis-faina

Redis的query分析小工具 redis-faina

2014/02/19 12:07
130
0
Redis监控方案

redis 监控

2013/12/07 11:20
40.5K
11
Redis监控技巧

本文来自 Bugsnag 的联合创始人 Simon Maynard 的系列文章,作者根据几年来对 Redis 的使用经历,对 Redis 监控方法进行了系统性的总结,干货很多,值得一看。 原文链接:Redis Masterclass...

2013/05/28 17:53
987
1
Redis主从配置

主从配置 首先正常安装并配置两个redis服务,master上需要添加如下配置: port port logfile logfile 其中port为master服务器的端口,logfile为master的日志输出地址及日志文件名。 然后修改...

2015/06/18 18:06
277
0
Redis资料汇总

1.Redis是什么? 十五分钟介绍 Redis数据结构 Redis系统性介绍 一个很棒的Redis介绍PPT 强烈推荐!非同一般的Redis介绍 Redis之七种武器 锋利的Redis redis 适用场景与实现 【翻译】Redis协议...

2013/09/03 10:03
286
0
TechTarget数据库>Redis

http://www.searchdatabase.com.cn/topic/redis.htm Redis NoSQL标准缺失比厂商锁定更危险 2013-5-13 即使在缺少的合同和许可证的官样文章的年代,可移植性将是一个巨大的问题。锁定就是没有...

2013/05/30 10:45
95
0
Redis资料大全

1.Redis是什么? 十五分钟介绍 Redis数据结构 Redis系统性介绍 一个很棒的Redis介绍PPT 强烈推荐!非同一般的Redis介绍 Redis之七种武器 锋利的Redis redis 适用场景与实现 【翻译】Redis协议...

2014/05/25 19:18
400
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部