当前位置: 首页 > news >正文

Redis:Redis性能影响因素

这里写自定义目录标题

  • 一、CPU对Redis的影响
  • 二、磁盘对Redis的影响
  • 三、网络对Redis的影响
  • 四、Swap对Redis的影响

一、CPU对Redis的影响

二、磁盘对Redis的影响

在这里插入图片描述

性能建议

  • 如果是热点场景,建议大家关闭rdb和aof。
  • 在SATA和SAS普通盘上,appendfsync=always和appendfsync=everysec性能差异基本在50倍以上。
  • 在aof开启而且刷盘方式appendfsync=always时,磁盘对Redis的写入性能影响非常大,通常我们只在SSD时才尝试开启。
  • 如果主机IO非常繁忙,appendfsync=everysec在极限情况下可能导致Redis主线程阻塞。
  • 尝试关闭重写时写AOF文件,no-appendfsync-on-rewrite yes,但安全性变低。

三、网络对Redis的影响

应用程序和Redis主机之间的网络延时对性能影响非常大:
在这里插入图片描述
性能建议

  • 在普通的网络中,每增加一层交换机或路由器,网络延迟时间约在2ms左右,所以Redis和应用程序之间不要跨多个交换机和路由器。
  • Redis和应用程序在局域网时性能较高,最好是同交换机下部署,性能最佳。
  • 网络上的防火墙以及转发机器,也会对网络造成较大影响,建议采用直通网络模式。
  • Redis和应用程序之间的延迟时间如果超过了2ms,建议从网络优化方面考虑。

四、Swap对Redis的影响

操作系统为了缓解内存不足对应用程序的影响,允许把一部分内存中的数据换到磁盘上,以达到应用程序对内存使用的缓冲,这些内存数据被换到磁盘上的区域,就是Swap。

Redis的主要操作对象为内存,当内存中的数据被换到磁盘上后,Redis再访问这些数据时,就需要从磁盘上读取,访问磁盘的速度要比访问内存慢50倍以上,尤其在非SSD硬盘上,甚至几百倍以上。

查看Redis是否使用了Swap,其中pid为Redis进程号:
cat /proc/${pid}/smaps|egrep ‘^(Swap|Size)’

性能建议

  • 增加物理内存、关闭Swap内存。
  • 减小使用Swap内存阈值,比如:
    vm.swappiness = 5
    vm.min_free_kbytes=204800

查看swap是否关闭
在这里插入图片描述


http://www.mrgr.cn/news/17394.html

相关文章:

  • systemverilog中的DPI-C用例介绍
  • 【Python报错已解决】“ModuleNotFoundError: No module named ‘packaging‘“
  • 面向对象编程
  • 对零基础想转行网络安全同学的一点建议
  • 海外云服务器安装 JDK8 (Ubuntu 18.04 记录篇)
  • 力扣9.1
  • 图片转为pdf怎么弄?简单几步:三款工具助你轻松转换!
  • [pytorch] --- pytorch基础之transforms
  • [240901] 英特尔推出工作站处理器系列:至强W-3500和W-2500 | Apple Sports 已为橄榄球赛季做好准备!
  • Linux 文件接口和文件管理
  • C++数据排序( 附源码 )
  • Go入门: Air配置热重载
  • SQL进阶技巧:计算每个uid上一笔成功订单id | 近距离有效匹配问题【last_value ignore nulls实现版】
  • 我用GPT对RAG技术的学习和探索
  • 一.海量数据实时分析-Doris入门和安装
  • 支付时有没有什么小技巧可以避免个人信息外泄
  • 一文看懂CSS3选择器
  • HarmonOS实战开发:Node-API接口适配模块加载指导
  • H264码流结构讲解
  • 【iOS】属性关键字