天地维杰网

人如秋鸿来有信,事若春梦了无痕


  • 首页

  • Redis

  • java

  • linux

  • 日常问题

  • Spring和Springboot

  • Mac相关

  • 中间件

  • 架构

  • python

  • 前端

  • jvm

  • c语言

  • web3

  • 归档

  • 关于

  • 搜索
close

时间: 0001-01-01   |   阅读: 31 字 ~1分钟

Redis子进程开销与优化

源文地址:https://blog.csdn.net/y532798113/article/details/106870299

1、CPU

  1. 开销 RDB和AOF文件生成,属于CPU密集型

  2. 优化

    1. 不做CPU绑定,也就是不把redis进程绑定在一个CPU上;
    2. 不和CPU密集型服务部署在一起;

2、内存

  1. 开销 fork内存开销,copy-on-write

  2. 优化

    • linux内核优化,禁止使用:echo never > /sys/kernel/mm/transparent_hugepage/enable,

    禁止原因:如果父进程有大量的内存页写入,就证明你的子进程内存开销比较大,因为它会写内存副本,造成很大的内存开销;

    • 不允许单机做部署的时候,大量产生重写;

    • 在Redis主进程写入量比较小的时候,执行save or bgsave时候就会消耗比较小的内存;

3、硬盘

  1. 开销 RDB和AOF文件写入,可以结合iostat,iotop分析

  2. 优化

    • 不要和负载很高的硬盘部署在一起:存储服务(文件存储)、消息队列等;
    • no-appendfsync-on-rewrite = yes,重写的过程不进行追加redis命令;
    • 根据写入量决定磁盘类型:例如:SSD;
    • 单机多实例持久化文件目录可以考虑分盘;
不与天斗Domino

不与天斗Domino

Programmer & Architect

183 日志
15 分类
224 标签
© 2013 - 2023 天地维杰网 京ICP备13019191号-1
Powered by - Hugo v0.63.2
Theme by - NexT
0%