目录
Redis的故障检查,上一篇日志总结到的是找出一些慢查询操作,也就是这些查询花费了很长的时间才能完成,但是这个慢操作识别只记录的是命令执行消耗的时间,不包括网络传输消耗的时间以及磁盘读写消耗的时间,所以,当Redis出现较大延迟问题时,除了检查执行的操作命令外,还应检查一下是否网络延迟、CPU使用率过高或者是持久化操作造成的。
网络延迟测量
固有延迟
在Redis运行前,我们可以先对运行它的主机进行一次固有延迟的测量,固有延迟指的是操作系统调用进程的最大延迟,它不会连接到Redis服务,所以说它是固有的,是系统的延迟大小,不包括Redis实例的延迟。在Redis部署运行后,其延迟不会比固有延迟还小,因为有诸多因素影响。运行Redis服务的机器上固有延迟也会对Redis服务延迟产生影响,我们可以用命令redis-cli --intrinsic-latency 30来测试本主机的固有延迟:


本文介绍了Redis故障检查中的延迟问题,包括网络延迟测量的固有延迟和往返延迟,以及如何检查CPU利用率。固有延迟通过redis-cli --intrinsic-latency命令测试,而往返延迟使用redis-cli –latency命令测量。当遇到延迟问题时,应考虑CPU利用率,如INFO STATES |grep total_connections_received命令检查客户端连接。此外,持久化操作如AOF的fsync也可能导致延迟,可通过INFO |grep aof_delayed_fsync监控同步延迟情况。
最低0.47元/天 解锁文章
16

被折叠的 条评论
为什么被折叠?



