1.客户端相关配置
timeout:检测客户端空闲连接的超时时间,一旦idle时间达到了timeout,
客户端将会被关闭,如果设置了0就不进行检测。
maxclients:客户端最大连接数,但是这个参数收到操作系统设置的限制。
tcp-keepalive:检测TCP连接活性的周期,默认值为0,也就是不进行检测,
如果需要设置,建议为60,那么redis会每隔60秒对它创建的TCP连接进行活性
检测,防止大量死连接占用系统资源。
tcp-backlog:TCP三次握手后,会将接受的连接放入队列中,tcp-backlog就是
队列的大小,它在redis中的默认值是511。通常不需要调整,但是这个参数
受到操作系统的影响。如果:/proc/sys/net/core/somaxconn小于tcp-backlog,
那么redis启动时会看到如下日志,并建议将 /proc/sys/net/core/somaxconn
设置更大。
WARNING:The TCP backlog setting of 511 cannot be enforced because
/proc/sys/net/core/somaxconn is set to the lower value of 128;
修改:
echo 511 >/proc/sys/net/core/somaxconn
2.客户端统计片段
192.168.1.7:6379> info clients
# Clients
connected_clients:1
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0
connected_clients:代表当前redis节点的客户端连接数,需要重点监控。
一旦超过maxclients,新的客户端连接将被拒绝。
client_longest_output_list:当前所有输出缓冲区中队列对象个数的最大值。
client_biggest_input_buf:当前输入缓冲区中占用的最大容量。
blocked_clients:正在执行阻塞命令(blpop,brpop,brpoplpush)
--info stats命令结果也包含两个连接相关参数。
192.168.1.7:6379> info stats
# Stats
total_connections_received:5
rejected_connections:0
total_connections_received:redis自启动以来处理的客户端连接总数。
rejected_connections:redis自启动以来拒绝的客户端连接数,需要重点监控。