redis-cluster 性能调优

redis-cluster


1、关闭RDB防止fork进程的内存溢出问题

save ""

appendonly=yes

2、防止某个节点挂掉,整个cluster挂掉的问题

cluster-require-full-coverage no

3、设置最大内存

maxmemory 

11453246122


4、日志

logfile "./redis.log"

5、防止因为磁盘同步,卡掉住进程的情况出现

no-appendfsync-on-rewrite yes


6、内核修改,如果没开防火墙可以不设置这个

net.nf_conntrack_max = 1648576


7、这个用来防止内存申请不到发生卡死的情况,很重要

vm.overcommit_memory=1

有三种方式修改内核参数,但要有root权限:

   1)编辑/etc/sysctl.conf ,改vm.overcommit_memory=1,然后sysctl -p 使配置文件生效

  2sysctl vm.overcommit_memory=1

  3echo 1 > /proc/sys/vm/overcommit_memory

建议使用方法 1 


8、thp redis warning要求关掉 

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

同时写入rc.local,保证下次重启生效


9、最大连接数要改一下,redis的warning会要求修改

net.core.somaxconn= 1024

编辑/etc/sysctl.conf ,增加 net.core.somaxconn= 1024,然后sysctl -p 使配置文件生效


10、设置内存超出策略

默认没有设置 

allkeys-lru


11、BGREWRITEAOF 这个命令可以重写aof,因为aof长时间增量更新,导致越来越大,但是内存可能没这么大,所以可以用这个命令重写进行复制备份,恢复等


12、内存吃紧的时候可以尝试手动去掉内存碎片

 config set activedefrag yes

 memory purge

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要安装 Redis Cluster,可以编写一个 Shell 脚本来自动化安装过程。以下是一个示例脚本: ```shell #!/bin/bash # 下载 Redis wget http://download.redis.io/releases/redis-6.2.1.tar.gz tar xzf redis-6.2.1.tar.gz cd redis-6.2.1 # 编译 Redis make # 复制 Redis 可执行文件到 /usr/local/bin sudo cp src/redis-cli src/redis-server /usr/local/bin # 创建 Redis Cluster 目录 sudo mkdir /var/lib/redis-cluster # 配置 Redis Cluster 节点 for port in {7000..7005}; do sudo mkdir -p /var/lib/redis-cluster/$port sudo cp redis.conf /var/lib/redis-cluster/$port/ sudo sed -i "s/port 6379/port $port/" /var/lib/redis-cluster/$port/redis.conf sudo sed -i "s/# cluster-enabled yes/cluster-enabled yes/" /var/lib/redis-cluster/$port/redis.conf sudo sed -i "s/# cluster-config-file nodes-6379.conf/cluster-config-file nodes-$port.conf/" /var/lib/redis-cluster/$port/redis.conf sudo sed -i "s/# cluster-node-timeout 15000/cluster-node-timeout 5000/" /var/lib/redis-cluster/$port/redis.conf done # 启动 Redis Cluster 节点 for port in {7000..7005}; do redis-server /var/lib/redis-cluster/$port/redis.conf --daemonize yes done # 创建 Redis Cluster yes | redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1 # 清理安装文件 cd .. rm -rf redis-6.2.1 redis-6.2.1.tar.gz ``` 将以上脚本保存为 `install_redis_cluster.sh`,然后在终端中运行以下命令来执行脚本: ```shell chmod +x install_redis_cluster.sh ./install_redis_cluster.sh ``` 脚本将会下载、编译和配置 Redis,然后启动 Redis Cluster 节点,并创建 Redis Cluster。 请注意,此脚本仅适用于安装 Redis 6.2.1 版本的 Redis Cluster。如需安装其他版本,请根据具体情况进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值