redis一些问题

栏目: 数据库 · 发布时间: 5年前

内容简介:Redis在执行fsync的时候,redis为了保证AOF文件安全性,会校验上次fsync的时间是否大于2秒。若超过2秒,会发生阻塞。可以通过Redis日志进行定位:Asynchronous AOF fsync is taking too long (disk is busy?)也可以通过info persistence命令进行查看:每发生一次,aof_delayed_fsync 会增1

fork操作

  • fork操作是一个同步操作,若执行较慢会阻塞 redis 主线程

  • 执行时间与内存量相关:内存越大,耗时越长;虚拟机较慢,真机较快。

  • 查看fork执行时间,可做监控

    • info : latest_fork_usec 上一次执行fork的微秒数

  • 优先使用物理机或者高效支持fork操作的虚拟化技术

  • 控制Redis实际最大可用内存

  • 合理配置 Linux 内存分配策略 vm.overcommit_memory = 1

    • 默认这个值为0,在内存比较低的时候,会发生fork阻塞

  • 降低fork频率:例如放宽AOF重写自动触发时机,不必要的全量复制

进程外开销

  • CPU开销

    • RDB和AOF都会生成文件,属于CPU密集型

    • 优化1:不做CPU绑定,不和CPU密集型的应用部署在同一台服务器上

    • 优化2:避免在单机多部署的场景大量发生AOF重写

  • 内存

    • 开销:fork内存开销,copy-on-write,子进程会共享父进程的物理内存页,当父进程执行写请求的时候会创建一个副本,此时会消耗内存。即父进程在大量写入的时候,子进程开销会比较大,创建副本。

    • 优化1:防止单机多部署的时候发生大量的重写

    • 优化2:echo never > /sys/kernel/mm/transparent_hugepage/enabled

      • Linux内核的2.6.38版本中增加以上配置,支持大的内存页的分配

      • 内存页分配越大,会提高创建副本页的大小,影响性能

  • 硬盘

    • 开销:RDB与AOF文件写入的场景,可以集合iostat、iotop进行分析

    • 优化1:不要和高硬盘负载服务部署在一起,例如存储服务、消息队列

    • 配置:no-appendfsync-on-rewrite = yes

    • 根据写入量决定磁盘类型:SSD

    • 单机多实例持久化目录可以考虑分盘以及做资源限制,例如cgroup

AOF追加阻塞

Redis在执行fsync的时候,redis为了保证AOF文件安全性,会校验上次fsync的时间是否大于2秒。若超过2秒,会发生阻塞。

可以通过Redis日志进行定位:Asynchronous AOF fsync is taking too long (disk is busy?)

也可以通过info persistence命令进行查看:每发生一次,aof_delayed_fsync 会增1

优化方法可以参考硬盘优化策略


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

成为乔布斯

成为乔布斯

[美] 布伦特·施兰德、[美] 里克·特策利 / 陶亮 / 中信出版集团 / 2016-10 / 69.00元

本书描绘了一位多姿多彩的人物将与生俱来的激情与成熟的管理方式相结合,打造出史上最有价值、最受消费者追捧的公司,这本书将彻底改变我们看待乔布斯的方式。 本书推翻了关于史蒂夫·乔布斯的传说和陈词滥调,比如他是天才和混蛋的结合体,暴躁易怒、自私自利,怠慢朋友与家人。本书揭示了这位苹果联合创始人和CEO的家庭生活与职业生涯,并回答了一个关键问题:为什么如此轻狂傲慢、以至于被赶出苹果的年轻人能成为史上......一起来看看 《成为乔布斯》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具