Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 听着,上限是多少_C_Linux_Tcp_Backlog - Fatal编程技术网

C 听着,上限是多少

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 所以

尽管在这个话题上说了很多,我仍然感到困惑

我用一台monster linux服务器进行实验,该服务器能够处理适当的负载斜坡,大概每秒有数千个连接。现在,如果我选中default listen()队列:

这根本不是实际的队列大小。我怀疑这可能是一个遗留问题,实际大小如下所示:

#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