Redis 中提供了非常多的命令行界面程序,它们可以帮助我们做很多事情。有人把它们称为 redis shell,这些 redis shell 存在于 Redis 的安装目录中的 src 和 /usr/local/bin 下。今天我们就用 redis-cli 来演示一个 Redis 中的性能监控吧!
Redis 总共提供了下面 6 个工具:
- redis-server:启动 redis
- redis-cli:redis 命令行工具
- redis-benchmark:基准测试工具
- redis-check-aof:AOF 持久化文件检测工具和修复工具
- redis-check-dump:RDB 持久化文件检测工具和修复工具
- redis-sentinel:启动 redis-sentinel
redis-cli 工具的 —stat 命令主要用来实时获取 redis 的重要统计信息。根据这些信息来推断 redis 当前的使用情况。如果达到每秒 6w+ 左右的 qps,说明单台已跑到极限,需要水平扩展。如果 qps 只有几百或者几千 CPU 就已经饱和,可能使用了高算法复杂度的命令或者是对内存的过度优化。
—stat 的使用非常的简单,正如标题中的格式所示:
redis-cli -h{ip} -p{port} -a{password} --stat
如果链接的是本地,-h 参数可以忽略;如果端口是默认的 6379,-p 参数可以忽略;如果没有开启认证,-a 参数可以忽略。
redis-cli -h 127.0.0.1 -p 6379 -a xttblog --stat
如果你开启了认证,但是没有输入 -a 密码的话,会提示:ERROR: NOAUTH Authentication required.
如果你直接执行 redis-cli -a xttblog —stat,则会提示:Warning: Using a password with '-a' option on the command line interface may not be safe.这只是一个警告,可以不用理会。
$ redis-cli -h 127.0.0.1 -p 6379 -a xttblog --stat Warning: Using a password with '-a' option on the command line interface may not be safe. ------- data ------ --------------------- load -------------------- - child - keys mem clients blocked requests connections 506 1015.00K 1 0 24 (+0) 7 506 1015.00K 1 0 25 (+1) 7 506 3.40M 51 0 60461 (+60436) 57 506 3.40M 51 0 146425 (+85964) 107 507 3.40M 51 0 233844 (+87419) 157 507 3.40M 51 0 321715 (+87871) 207 508 3.40M 51 0 408642 (+86927) 257 508 3.40M 51 0 497038 (+88396) 257
—stat 命令会每隔一秒刷新列表,多现实一行数据。keys 代表的就是当前有多少个 key。mem 就是内存占用,clients 代表已连接客户端数,blocked 代表已阻止的客户端数,requests 代表服务器已提供的请求总数,connections 当前连接总数。
参考资料
- Top 10 Redis CLI commands
: » 详解 redis-cli -h{ip} -p{port} –stat 的用法
原创文章,作者:Carrie001128,如若转载,请注明出处:https://blog.ytso.com/252336.html