最近看到backlog,但是不明白它的意思。
一般我们将ESTABLISHED状态的连接称为全连接,而将SYN_RCVD状态的连接称为半连接
当服务器收到一个SYN后,它创建一个子连接加入到SYN_RCVD队列。在收到ACK后,它将这个子连接移动到ESTABLISHED队列。最后当用户调用accept()时,会将连接从ESTABLISHED队列取出。
linux系统默认backlog大小为128
redis如果要接收高并发的连接,那么这个tcp_backlog需要设置大一点,但是这个数量需要大于小于系统的backlog。
tcp_backlog=511 #redis默认参数,说明可以让511个客户端同时进行tcp握手操作。在高并发过程中,可以加快连接的建立。
网友评论