深入理解Redis--子进程开销与优化

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

(2)优化
    (1)不做CPU绑定,也就是不把redis进程绑定在一个CPU上; 

    (2)不和CPU密集型服务部署在一起;

 

2、内存
(1)开销
        fork内存开销,copy-on-write

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

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

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

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

 

3、硬盘
(1)开销
        RDB和AOF文件写入,可以结合iostat,iotop分析

(2)优化
    (1)不要和负载很高的硬盘部署在一起:存储服务(文件存储)、消息队列等;

    (2)no-appendfsync-on-rewrite = yes,重写的过程不进行追加redis命令;

    (3)根据写入量决定磁盘类型:例如:SSD;

    (4)单机多实例持久化文件目录可以考虑分盘;
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值