美文网首页
Redis开发运维常见问题及优化

Redis开发运维常见问题及优化

作者: 宁静的猫 | 来源:发表于2019-11-19 12:10 被阅读0次

    1、fork操作

    a、优先使用物理机或者高效支持fork操作的虚拟化技术
    b、控制Redis实例最大可用内存
    c、合理配置Linux内存分配策略:vm.overcommit_memory=1
    d、降低fork频率:例如放宽AOF重写自动触发时机,不必要的全量复制

    2、子进程开销和优化

    a、cpu:RDB和AOF文件的生成属于CPU密集型,优化时可以不做CPU绑定,不和CPU密集型部署
    b、内存:fork会有内存开销,copy-on-write,优化时可以设置Linux配置项:

    echo never > /sys/kernel/mm/transparent_hugepage/enabled
    

    c、硬盘:AOF和RDB文件的写入会对硬盘产生开销,所以不要和高硬盘负载的服务部署在一起,如存储服务、消息队列等;no-appendfsync-on-rewrite=yes;根据写入量决定磁盘类型:如ssd;单机多实例持久化文件目录可以考虑分盘

    3、AOF追加阻塞

    a、fsync大于2s时候,会阻塞redis主进程,我们都知道redis主进程是用来执行redis命令的,是不能阻塞的。
    b、虽然每秒everysec刷盘策略,但是实际上不是丢失1s数据,实际有可能丢失2s数据。

    相关文章

      网友评论

          本文标题:Redis开发运维常见问题及优化

          本文链接:https://www.haomeiwen.com/subject/nijwictx.html