码迷,mamicode.com
首页 > 其他好文 > 详细

6. 开发运维常见问题

时间:2020-01-14 13:06:13      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:commit   队列   art   echo   持久化   开发运维   分析   复制   磁盘   

#开发运维常见问题

fork操作

  • 同步操作

  • 与内存量息息相关:内存越大,耗时越长(与机器类型有关)

  • info:latest_fork_usec

  • 改善fork

    • 有限使用物理机或高校支持fork操作的虚拟化技术

    • 控制Redis实例最大可用内存:maxmemory

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

    • 降低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-no-rewrite=yes

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

      • 单机多实例持久化文件目录可以考虑分盘

AOF追加阻塞

  • 主线程 每秒刷盘

    • AOF缓冲区

      • 同步线程

        • 同步硬盘

      • 对比上次fsync时间

        • 大于2秒

          • 阻塞

        • 小于2秒

          • 通过

    • 定位错误

      • redis日志

      • aof_delayed_fsync:100

6. 开发运维常见问题

标签:commit   队列   art   echo   持久化   开发运维   分析   复制   磁盘   

原文地址:https://www.cnblogs.com/richiewlq/p/12191268.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!