redis运维命令及参数整理
redis作为一个服务,和普通的oracle,mysql服务器运维维护和系统调优是一样的。
关注内存,CPU,网络IO,阻塞等。由于不会涉及复杂的SQL业务逻辑,缺少SQL调优这一块。
1.通过INFO命令,要清楚了解服务器的现状。
参照:http://redisdoc.com/server/info.html
server
记录了 Redis 服务器的信息clients记录了已连接客户端的信息(确认并发情况,繁忙程度)
memory
记录了服务器的内存信息 (确认内存消耗,内存碎片)
persistence记录了跟
RDB
持久化和AOF
持久化有关的信息(确认是否引起性能IO)stat
一般统计信息(确认并发情况,繁忙程度,命中率)replication主/从复制信息(同步情况)
cpu
CPU 的计算量统计信息
keyspace
记录了数据库相关的统计信息
2.常用运维操作
#探测服务是否可用[root@hadoop2redis]#bin/redis-cli127.0.0.1:6379>pingPONG#监控redis请求执行信息127.0.0.1:6379>monitorOK1472956931.192969[0127.0.0.1:42936]"COMMAND"1472956948.127475[0127.0.0.1:42936]"set""title""moniter"1472956964.712026[0127.0.0.1:42936]"keys""*"#查看redis数据库统计信息127.0.0.1:6379>info#Serverredis_version:3.2.3redis_git_sha1:00000000redis_git_dirty:0redis_build_id:7994844ebb5a3a63redis_mode:standalone...#查看配置127.0.0.1:6379>configgetloglevel1)"loglevel"2)"notice"#临时修改配置127.0.0.1:6379>configsetloglevel111(error)ERRInvalidargument'111'forCONFIGSET'loglevel'127.0.0.1:6379>configsetlogleveldebugOK#这会导致修改redis.conf文件127.0.0.1:6379>configrewriteOK#批量执行操作gnuhpc@gnuhpc:~$(echo-en"ping\r\nsetkeyabc\r\ngetkey\r\n";sleep1)|nc127.0.0.16379+PONG+OK$3abc在一个脚本中批量执行多个写入操作:先把插入操作放入操作文本insert.dat:setabset12sethwsetfu然后执行命令:catinsert.bat|./redis-cli--pipe,或者如下脚本:#!/bin/shhost=$1port=$;password=$3catinsert.dat|./redis-cli-h$host-p$port-a$password--pipe
以下内容来自[http://www.cnblogs.com/gnuhpc/]
1.10 模拟宕机
redis-cli debug segfault
1.11 模拟hang
redis-cli -p 6379 DEBUG sleep 30
1.12 重命名命令
rename-command,例如:rename-command FLUSHALL ""。必须重启。
1.13 执行lua脚本
- -eval 。例如:
redis-cli --eval myscript.lua key1 key2 , arg1 arg2 arg3
1.14 设置密码
config set requirepass [passw0rd]
1.15 验证密码
auth passw0rd
1.16 性能测试命令
redis-benchmark -n 100000
1.17 获取慢查询
SLOWLOG GET 10
结果为查询ID、发生时间、运行时长和原命令
1.18 查看日志
日志位置在/redis/log下,redis.log为redis主日志,sentinel.log为sentinel监控日志。
一般处理(发现问题)流程
1探测服务是否可用
127.0.0.1:6379> ping
2
探测服务延迟redis-cli --latency 显示的单位是milliseconds,作为参考,千兆网一跳一般延迟为0.16ms左右3
监控正在请求执行的命令在cli下执行monitor,生产环境慎用。4
查看统计信息
info
5
获取慢查询
SLOWLOG GET 10
结果为查询ID、发生时间、运行时长和原命令 默认10毫秒,默认只保留最后的128条。单线程的模型下,一个请求占掉10毫秒是件大事情,注意设置和显示的单位为微秒,注意这个时间是不包含网络延迟的。
slowlog get
#获取慢查询日志
slowlog len
#获取慢查询日志条数+
slowlog reset
查看客户端client list
列出所有连接
client kill
杀死某个连接, 例如CLIENT KILL 127.0.0.1:43501
client getname #
获取连接的名称 默认nil
client setname "名称"
设置连接名称,便于调试7
查看日志
参考资源
http://www.cnblogs.com/gnuhpc/p/4609592.html
https://gnuhpc.gitbooks.io
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。