Redis 开发运维常见问题

Redis 开发运维常见问题

  • fork操作
  • 进程外开销
  • AOF追加阻塞
  • 单机多实例部署

fork操作

  1. 首先fork操作是个同步操作,例如执行bgsave/aof 重写时,主线程执行fork同步 响应OK 生成子线程
  2. 与内存量息息相关:内存越大,耗时越大
  3. info: latest_fork_usec 查看上次执行fork 消耗的微妙数

改善fork

  1. 使用性能较高的物理机
  2. 控制Redis实例最大可用内存:maxmemory
  3. 合理配置Linux内存分配策略:vm.overcommit_memort=1
  4. 降低fork频率:例如放宽AOF重写自动触发时机,不必要的全量复制(主从复制)

子进程开销和优化

  1. CPU:  开销:RDB和AOF文件生成,属于CPU密集型  优化:不做CPU绑定,不和CPU密集型部署
  2. 内存:  开销:fork内存开销,copy-on-write 优化:echo never > /sys/kernel/mm/transparent_hugepage/enabled
  3. 硬盘:   开销:AOF和RDB文件写入,可以结合iostat,iotop分析 

       优化: 不要和高负载服务部署在一起,存储服务,消息队列等

                   no-appendfsync-on-rewrite = yes

                   根据写入量决定磁盘类型:例如ssd

 

AOF追加阻塞

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值