【发布时间】:2015-12-22 10:50:22
【问题描述】:
为连接两端的发送和接收缓冲区设置不同的值有什么缺点(或优点)?保持这些价值观相同似乎是最有意义的(也是常态)。但是,如果一方(例如发送方)拥有将缓冲区大小翻倍的资源,这会产生什么影响?
我想一个相关的问题是,设置大于要求的缓冲区大小有什么缺点?从我读过的内容来看,如果您的发送缓冲区更大,您可能会溢出接收缓冲区。此外,似乎不需要增加缓冲区大小,只要您的应用程序跟上负载并且可以处理最大大小的消息。这并不一定意味着您可以处理更多的数据吞吐量,因为您仍然受到相反端点的限制。这是正确的吗?
有问题的具体内核设置如下:
net.core.wmem_max
net.core.rmem_max
【问题讨论】:
-
除非一侧或另一侧有错误,否则不能溢出接收缓冲区。
标签: linux sockets tcp udp sctp