redis环境设置
-
允许内核可以分配所有的物理内存,防止Redis进程执行fork时因系统剩余内存不足而失败。
echo "vm.overcommit_memory=1" >> /etc/sysctl.conf
sysctl vm.overcommit_memory=1 - 关闭THP,防止写时复制期间内存过度消耗
echo never > /sys/kernel/mm/transparent_hugepage/enabled - tcp三次握手后,会将接受的连接放入队列中,tcp-backlog就是队列的大小,默认511,这个参数会受到操作系统影响
cat /proc/sys/net/core/somaxconn
echo 511 > /proc/sys/net/core/somaxconn - ulimit
ulimit -n 65535
打开文件句柄数,用于maxclients - tcp backlog
默认511
echo 511 > /proc/sys/net/core/somaxconn - 系统总连接数,这个自己定,避免发生Cannot allocate memory错误
cat /proc/sys/kernel/threads-max
echo 200000 > /proc/sys/kernel/threads-max - 防连接超时报错Cannot assign requested
开启对于TCP时间戳的支持,若该项设置为0,则下面一项设置不起作用
sysctl -w net.ipv4.tcp_timestamps=1
表示开启TCP连接中TIME-WAIT sockets的快速回收
sysctl -w net.ipv4.tcp_tw_recycle=1
echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse
原文地址:http://blog.51cto.com/8370646/2150171
时间: 2024-10-04 09:29:52