Redis读超时排查

Posted yangdi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis读超时排查相关的知识,希望对你有一定的参考价值。

现象:STORM UI中发现bolt中有failed,异常日志抛异常read time out  

技术分享图片

 

技术分享图片

 

业务场景:storm读写redis。

查看redis日志发现,正常情况下 每隔2小时都会有超时的异常抛出来,抛出异常的 redis机器有多台。

分析慢日志:

1、看命令数和value大小:找到其中一台redis,看命令数,只要在10W tps以下都不算大,看慢的命令是否有大value,发现并不大(只看了其中一个,其他没看)

2、看连接数在3K以下 并不高

3、看网卡流量,平均比较高

技术分享图片

技术分享图片

技术分享图片技术分享图片

问题定位:多个项目共用一个redis集群,导致redis网卡流量居高不下,而redis是多线程接收命令,单线程处理命令,即使一个命令的value并不大,可能因为等待执行的命令较多,导致当前的命令处理变慢!

正常的redis网卡流量应该像下面这样好看技术分享图片

 

以上是关于Redis读超时排查的主要内容,如果未能解决你的问题,请参考以下文章

redis 线上问题排查思路总结

我又和redis超时杠上了

2017.2.6Redis连接问题排查

openstack iptables nat模块引发云主机访问redis超时问题解决办法

redis 缓存雪崩问题的分析

日常问题排查-调用超时