linux中redis集群失败原因,redis cluster实际会遇到的问题

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值