Redis配置项说明和系统配置

一、系统配置

1.1、ulimit

对Linux操作系统来说,每一个Redis客户端连接,都会消耗一个文件描述符,系统默认的open files是1024,而Redis默认配置“maxclients”允许最大10000个客户端连接,在Redis内部最多会使用32个文件句柄,所以Redis建议将open files的值设置为10032个:

# 临时设置:
# ulimit -Sn 10032

1.2、TCP backlog

TCP backlog是已连接但未进行accept处理的SOCKET队列大小。Redis的默认值是511,而Linux系统的默认值只有128:

# 临时修改:
# echo 511 > /proc/sys/net/core/somaxconn 
# 永久修改:
# echo "net.core.somaxconn = 511" >> /etc/sysctl.conf
# sysctl -p

1.3、overcommit_memory

overcommit_memory是系统的内存分配策略,默认值是0,即在有足够的可用内存时,内存申请通过,否则申请失败。这在低可用内存环境下可能导致BGSAVEBGREWRITEAOF失败,所以Redis建议将该值设置为1,即允许超量使用内存直到用完为止:

# echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf
# sysctl -p

1.4、swappiness

当物理内存不足时,可以临时使用由硬盘提供的swap分区。对于高吞吐、高并发的Redis来说,磁盘IO将会成为系统瓶颈,所以将swappiness设置为0,即使OOM killer也不使用swap:

# 临时设置:
# echo 0 > /proc/sys/vm/swappiness
# 永久设置:
# echo "vm.swappiness = 0" >> /etc/sysctl.conf
# sysctl -p

1.5、THP

为了给需要获得大量内存的应用程序快速分配内存,Linux内核增加了THP(大页内存)特性,支持2MB大页内存分配。这将会导致Redis重写期间消耗更多内存,Redis建议禁用此特性:

# 临时设置:
# echo never > /sys/kernel/mm/transparent_hugepage/defrag
# echo never > /sys/kernel/mm/transparent_hugepage/enabled

二、Redis配置项

2.1、通用配置

配置项 说明 默认值 可选值
bind Redis运行绑定的地址 127.0.0.1 IP地址
port Redis监听的TCP端口号。设置为0时,不监听TCP端口 6379 0-65535
unixsocket 监听的unix套接字 自定义的套接字文件
unixsocketperm 套接字文件的权限 700 Linux文
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值