快盘下载:好资源、好软件、快快下载吧!

快盘排行|快盘最新

当前位置:首页软件教程电脑软件教程 → Redis变慢了,到底慢在哪儿?(1)

Redis变慢了,到底慢在哪儿?(1)

时间:2022-09-20 07:25:13人气:作者:快盘下载我要评论

00、redis变慢了,到底慢在哪儿?

最近由于工作需要,在维护线上的Redis,Redis相关的原理部分看的比较多,Redis最常见的业务问题就是响应慢,今天我们来看看Redis慢在哪里?以及如何解决这些慢的现象。

首先来看有可能引起Redis变慢的那些情况。其实,Redis变慢的主要因素是各种类型的阻塞,可以这么说:阻塞是Redis的噩梦。Redis是单线程处理模型,一旦某个环节出现阻塞,后续环节肯定会受到影响,这是毋庸置疑的。

总体上来说,Redis的阻塞存在很多可能,今天重点说以下2个方面:

1、Redis内部的阻塞式操作或者命令

2、CPU核心以及NUMA架构

01、Redis内部的阻塞式操作或命令

假设你的Redis是以最复杂的集群的模式部署的,那么在Redis客户端和Redis服务交互的时候,整个链路包含网络IO、磁盘写入、主从节点复制、切片集群数据迁移等等,这些步骤都可能产生阻塞,下面逐一分析。

1、阻塞式命令会影响Redis的性能。

集合的全量查询keys *等命令、当集合中有N个数据的时候,复杂度就是O(n),阻塞的时间和数据个数正相关;

删除命令也会影响Redis的性能,删除key的时候,操作系统会将释放的内存块插入一个空闲的内存块链表,这个操作本身会阻塞当前的应用,如果释放的key占用内存较多,例如是一个bigKey,那么大概率会影响Redis的性能

清空数据库的命令flushall和flushdb也存在类似的阻塞风险

2、AOF落盘时候产生阻塞

Redis中记录AOF日志时候,会根据不同的回写策略来进行数据落盘,跟磁盘的交互总是很慢的,如果大量的写操作需要同步落盘,就会阻塞主线程了。

3、主从节点交互产生的阻塞

主从节点进行交互的时候,从节点上有2个阻塞点,第一是从节点需要使用flushdb清空数据库,如果从节点之前有数据,这可能造成阻塞;另外一个就是从节点需要加载主节点发送过来的RDB文件,如果RDB文件很大,则会加载很慢,产生阻塞

4、切片集群Redis Cluster交互时候的阻塞点

切片集群在进行bigkey迁移的时候,会造成主线程的阻塞,因为Redis Cluster采用了同步迁移。

02、CPU核心NUMA架构的影响

多核CPU下面,对Redis的性能影响还是挺大的。我们先来看看多核心CPU的一般架构。

在目前主流服务器上,一般都拥有多个CPU处理器,而一个CPU处理器,会拥有10~20个物理核心。如果一个服务器拥有多个CPU处理器,那么我们也成这个服务器拥有多个CPU Socket,Socket简单理解,就是一个CPU处理器,

Redis变慢了,到底慢在哪儿?(1)

如图为4核心CPU的架构,其中,CPU核心1、2在同一个Socket中,CPU核心3、4在另外一个Socket中。Socket之间,通过CPU总线来连接,每个Socket控制一块内存。

1、跨Socket的访问

如果一个Redis服务部署在这样的服务器上,它有可能在Socket1和Socket2之间来回切换,假设一个Redis应用现在Socket1上运行了一段时间,那么它的数据会保存在Socket1所对应的内存上,如果它再次被调度到另外一个Socket2上,此时,应用再进行内存访问的时候,就需要通过总线跨越到Socket1上来访问内存,这种访问属于远端访问,它会增加访问的延迟。

而我们常说的NUMA,则是对上述情况的一种描述,叫非统一内存访问架构(Non-uniform Memory Access,简称NUMA架构)

2、频繁的CPU核心切换

除了跨Socket访问外,在多核心访问的场景下,如果一个程序需要在一个新的CPU核心上运行,那么运行时信息就要重新加载到新的CPU核心上,新的CPU核心也需要更新缓存中的信息,这也会间接导致运行时间增加。如果这个核心之间的调度很频繁,则会大大影响Redis的性能。

相关文章

  • 分布式锁工具Redisson技术

    分布式锁工具Redisson,太香了!!,Redisson和它俩的区别就像一个用鼠标操作图形化界面,一个用命令行操作文件。Redisson是更高层的抽象,Jedis和Lettuce是Redis命令的封装......
  • mac下的浏览器cookie盗取

    mac下的浏览器cookie盗取,当我们通过钓鱼等方式拿到单位员工的个人PC机时,通常需要对主机进行信息收集。而浏览器是一个重要的信息收集点。我们可以收集历史记录、书签寻找靶机。窃取密码登录SS......

网友评论

快盘下载暂未开通留言功能。

关于我们| 广告联络| 联系我们| 网站帮助| 免责声明| 软件发布

Copyright 2019-2029 【快快下载吧】 版权所有 快快下载吧 | 豫ICP备10006759号公安备案:41010502004165

声明: 快快下载吧上的所有软件和资料来源于互联网,仅供学习和研究使用,请测试后自行销毁,如有侵犯你版权的,请来信指出,本站将立即改正。