#开发运维常见问题
fork操作
- 同步操作
- 与内存量息息相关:内存越大,耗时越长(与机器类型有关)
- info:latest_fork_usec
- 改善fork
- 有限使用物理机或高校支持fork操作的虚拟化技术
- 控制Redis实例最大可用内存:maxmemory
- 合理配置linux内存分配策略:vm.overcommit_memory=1
- 降低fork频率:例如放宽AOF重写自动触发时机,不必要的全量复制 ##子进程开销和优化
- cpu
- 开销:RDb和AOF文件生成,属于CPU密集型
- 优化:不做CPU绑定,不和CPU密集型部署
- 内存
- 开销: fork内存开销 copy-on-write
- 优化 echo never > /sys/kernel/mm/transparent_hugepage/enabled
- 硬盘
- 开销: AOF和RDB文件写入,可以借个iostat,iotop分析
- 优化
- 不要和高硬盘负载服务部署在一起:存储服务、消息队列等
- no-appendfsync-no-rewrite=yes
- 根据写入量决定磁盘类型:如SSD
- 单机多实例持久化文件目录可以考虑分盘
AOF追加阻塞
- 主线程 每秒刷盘
- AOF缓冲区
- 同步线程
- 同步硬盘
- 对比上次fsync时间
- 大于2秒
- 阻塞
- 小于2秒
- 通过
- 大于2秒
- 同步线程
- 定位错误
- redis日志
- aof_delayed_fsync:100
- AOF缓冲区
原文地址:https://www.cnblogs.com/richiewlq/p/12191268.html
时间: 2024-11-12 11:23:43