Redis block 和 Connection reset by peer分析报告

本文分析了Redis阻塞的常见因素,如大对象操作、CPU竞争、内存交换和网络问题,并提供了解决方案。同时探讨了'Connection reset by peer'的原因,包括并发连接超载、服务器重启等。通过监控命令展示了Redis集群的阻塞情况,指出wait命令是阻塞的主要来源。目前,经过参数调整和持续监控,Redis系统运行稳定。
摘要由CSDN通过智能技术生成

Part 1 造成redis block的常见因素

  1. 存在大对象且对大对象执行复杂度较高的命令,或者执行某些耗时的命令,或者执行本身会造成阻塞的命令

(1)对一个有千万个元素的hash执行hgetall操作, 或del操作.类似的这种操作都会造成Redis阻塞

(2)对于这种大对象可以采用redis-cli -h {host} -p {port} bigkeys 来查看。但是该命令只能查询某类型中的其中最大的一个key。如果你想查询多个。可以采用修改redis-cli源代码的方式(Redis的源代码是C)。如果不想修改源代码的话也可以使用scan来完成。对于Scan命令需要注意。该命令只能扫描单台Redis上的数据。如果你是一个集群,需要每台机器执行一遍。但是如果你使用开源的客户端的话(比如:Java的Lettuce客户端)就已经帮你把scan命令实现为可以扫描整个集群了。

(3)然后对大对象进行拆分。具体拆分要视业务而定

  1. Redis的CPU使用率高或者出现CPU竞争

Redis是一个CPU密集型的应用,不适合和其他CPU密集的服务部署在一起。

  1. 内存交换

Redis是一个内存型数据库,所有数据全部放在内存中。所以强烈建议不开启内存交换

  1. 网络问题

主从同步网络延迟较大的话,导致从机经常断线重连。如果断线时间久了,导致从机再次连接上主机时会全量同步,这时主机,从机都会受到影响。

Part2 造成connection reset by peer的常见原因

Connection reset by peer 含义

定义1:当前服务器接

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值