L33
1.fork耗时导致高并发请求延时:
info stats 参数 last_fork_usec 最近一次fork时长
优化:fork耗时跟redis主进程的内存有关系,一般控制redis内存在10G以内
2.AOF阻塞问题
fsync 超过2秒,写请求就会阻塞防止主从offset偏差太大导致数据丢失
优化:优化硬盘写入速度
3.主从复制延迟问题
info replication 查询master的offset和slave的offset.但是也有slave的大于master的,这种情况需要其他解决思路
优化:需要脚本进行监控报警
4.主从复制风暴
一旦多个slave挂载master 同时进行全量复制,会导致大量带宽被占用
优化:使用树状挂载
5.Linux内核优化 提高redis
1) vm.overcommit_memory
0: 检查有没有足够内存,没有的话申请内存失败
1: 允许使用内存直到用完为止
2: 内存地址空间不能超过swap + 50%
如果是0的话,可能导致类似fork等操作执行失败,申请不到足够的内存空间
cat /proc/sys/vm/overcommit_memory
echo "vm.overcommit_memory=1" >> /etc/sysctl.conf
sysctl vm.overcommit_memory=1
2) swapiness
cat /proc/version,查看linux内核版本
如果linux内核版本<3.5,那么swapiness设置为0,这样系统宁愿swap也不会oom killer(杀掉进程)
如果linux内核版本>=3.5,那么swapiness设置为1,这样系统宁愿swap也不会oom killer
echo 0 > /proc/sys/vm/swappiness
echo vm.swapiness=0 >> /etc/sysctl.conf
3) 最大打开文件句柄
ulimit -n 10032 10032
4) tcp backlog
cat /proc/sys/net/core/somaxconn
echo 511 > /proc/sys/net/core/somaxconn
转载于:https://blog.51cto.com/8237162/2058150