gpt4 book ai didi

performance - TCP 数据包大小会影响下载速率吗?

转载 作者:可可西里 更新时间:2023-11-01 02:47:26 30 4
gpt4 key购买 nike

我有一个正在处理的项目,我必须通过网络连接发送大量二进制数据,并且由于各种限制,使用 TCP 包装器是最简单的方法。简而言之,我的意思是我手动管理数据包(和二进制数据)。

不过,我的问题很简单:数据包大小会影响数据传输速率吗?数据包和缓冲区的大小会改变内存使用情况,我明白这一点,但它在网络上传输的实际速率又如何呢?我的意思是,更大的数据包意味着更少的数据包,这样会加快速度,但我想更大的数据包也会传输得更慢……它们是否相互抵消,这无关紧要,或者一个变化大于另一个变化它确实有所作为吗?朝哪个方向?

我觉得我还应该指出,我也直接从文件流中读取数据(一次一个数据包,以提高内存效率)并将二进制数据直接传递到文件流中(一个数据包在一次),所以我不知道这是否会影响设置的效率或数据包大小变化的影响。

如有任何帮助,我们将不胜感激。

最佳答案

每个数据包都有一些固定的开销(例如,源地址和目标地址)。每个数据包越大,固定开销占整体的百分比就越小。因此,较大的数据包会增加吞吐量。

也就是说,除非您真的侵入了 IP 堆栈,或者设置了类似 TCP_NODELAY 的东西,否则正常的 TCP 实现将尝试积累数据以自动发送更大的数据包。

关于performance - TCP 数据包大小会影响下载速率吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11464357/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com