在Linux中增加套接字缓冲区大小是否有任何副作用?

时间:2016-07-07 15:30:43

标签: linux sockets

我一直在使用万兆以太网进行大文件数据传输,最初,我遇到了丢弃UDP数据包的问题。在重写/优化了很多代码并开发新设计之后,我偶然发现了一篇讨论增加内核套接字缓冲区大小的文章。在这样做之后,我发现我可以发送更多的数据包而不用担心被丢弃。从本质上讲,似乎我可以消除数据包丢失,并通过使缓冲区大小越来越大(直到我有足够的东西)来提高传输速度。但是,我的问题是,是否将套接字缓冲区大小增加到非常大的东西会产生任何不必要的副作用?我的第一个猜测是性能/ CPU /内存问题,但在我的测试中,这还不是一个明显的问题。也许我只是过于怀疑,但这似乎太好了,不可能是真的。

2 个答案:

答案 0 :(得分:1)

唯一的副作用是内存使用情况。逐渐增加它们并监控系统。只要你为现有流程留下足够的内存,你应该是金色的。

答案 1 :(得分:1)

参考http://www.cyberciti.biz/faq/linux-tcp-tuning/链接,它提供了有用的基本信息