C 听着,上限是多少
尽管在这个话题上说了很多,我仍然感到困惑 我用一台monster linux服务器进行实验,该服务器能够处理适当的负载斜坡,大概每秒有数千个连接。现在,如果我选中default listen()队列: 这根本不是实际的队列大小。我怀疑这可能是一个遗留问题,实际大小如下所示:C 听着,上限是多少,c,linux,tcp,backlog,C,Linux,Tcp,Backlog,尽管在这个话题上说了很多,我仍然感到困惑 我用一台monster linux服务器进行实验,该服务器能够处理适当的负载斜坡,大概每秒有数千个连接。现在,如果我选中default listen()队列: 这根本不是实际的队列大小。我怀疑这可能是一个遗留问题,实际大小如下所示: #cat /proc/sys/net/ipv4/tcp_max_syn_backlog 2048 但是,man tcp表示后者是等待客户端确认的连接,这与尚未接受的连接总数不同,后者就是listen()backlog 所以
#cat /proc/sys/net/ipv4/tcp_max_syn_backlog
2048
但是,man tcp
表示后者是等待客户端确认的连接,这与尚未接受的连接总数不同,后者就是listen()backlog
所以我的问题是如何增加listen()backlog,以及如何获取/设置它的上限(就在内核重新编译之前)?您可以按照以下说明增加它:-基本上是通过使用sysctl
是的,somaxconn是侦听积压的上限。
somaxconn
是等待的完整连接数
tcp\u max\u syn\u backlog
是等待的不完整连接数
它们不是一回事。这一切都在。中描述过,它根本不可能是实际的队列大小,为什么不呢?只有当推送速率始终大于pop速率时,有界队列才会溢出。
#cat /proc/sys/net/ipv4/tcp_max_syn_backlog
2048