docker部署redis问题解决
启动redis
docker run --network host --name redis -d ccr.ccs.tencentyun.com/fkz-test-cd/redis:5.0.3 redis-server --requirepass "tyj123456" --appendonly yes --protected-mode no --port 6379 --tcp-backlog "20480"
backlog 参数警告
WARNING: The TCP backlog setting of 20480 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
警告内容写得很清楚了,linux系统的somaxconn参数值比redis设置的backlog大,修改somaxconn可以解决问题
somaxconn是系统中每一个端口最大的监听队列的长度
解决方法如下:
echo '20480' > /proc/sys/net/core/somaxconn
在 /etc/sysctl.conf 添加配置并加载,重启后也会生效
# cat /etc/sysctl.conf |grep soma
net.core.somaxconn = 20480
# sysctl -p