我们有一个文件传输速度上限(最大速度)的情况如下:
什么可以解释这样的行为?
它似乎不是IP层(networking)。 这是TCP层的设置吗?
编辑:
我会尝试澄清的背景和我的问题。
文件传输发生在两个FTP服务器之间(我不确定哪个操作系统或FTP软件),跨广域网(专用networking,不是互联网)。 所以我们有这样的东西:
FTP服务器A – > LAN – > WAN – > LAN – > FTP服务器B
第一个文件传输作业获得5Mbps的带宽。 我们认为广域网在某个地方有一个瓶颈,限制了带宽。 但是,然后额外的文件传输工作pipe理find另一个5Mbps的带宽…
如果延迟很高(例如,如果您通过Internet传输),则可能是因为连接的一端或两端不支持窗口缩放 。 如果你的ISP倾向于乱用你的数据包,这可能是由于stream量整形。 正如Robert Moir所指出的,这可能是一个应用程序或驱动程序问题。
你提出这个问题的方式有点令人困惑。 让我更明确地重述它。
在给定的networking上…
中间没有用于“stream量整形”的方框…限制是基于我们所拥有的networkingtypes。
为什么两个可以传输多个?
答案是TCP / IP是礼貌的协议。 它积极地尝试不要占用一个频道。 它实际上被优化,使得许多传输一次都获得了带宽的“公平份额”。
这样做的缺点是,在一个空的networking上进行一次传输的性能会非常糟糕。 这不是因为TCP / IP的创build者想这样。 多年的研究并没有很好地改善这种情况,因为主要的研究是使整个互联网更有效率,而不是使封闭networking上的一对特定机器做得好。 互联网不是关于你,而是关于“我们”。
根据您的具体情况调整networking很困难。 例如,当您的机器正在等待硬盘时,networking可以闲置,闲置。 同时进行两次传输,一次传输正在等待硬盘,另一次传输是“保持满pipe”。
如果您想提高转账率,可以将您的转账分成多个同时转账。 做基准,看1,2,3或者4是否能获得最好的挂钟时间。 使用什么效果最好。 (如果你改变你的networking,网卡速度等等,你应该重新做基准testing)
如果您不能将任务分解为多个传输,则需要考虑调整操作系统上的TCP / IP设置。 有一些参数可以改变,比如它应该提高带宽使用的速度(“快速启动定时器”)和其他设置。 这些对于不同的操作系统是不同的。 在网上searchfind像http://support.microsoft.com/kb/93444和http://www.psc.edu/networking/projects/tcptune/的文章不过,我应该警告你,你可以让事情变得更糟比你能把事情做得更好。 每次更改后,您应该build立一个基准并调整一个参数,然后运行整个基准。 保持良好的日志,看看是什么让事情变得更好,更糟。 另外,请记住,一旦你调整了这种转移的事情,做其他的networking任务(如网页冲浪)可能是不合适的。
不可能用你在这里提供的信息来说。 我已经看到文件传输速度超过5MB的单一下载,所以它不是一些不可改变的“interwebs法”。 当然,可能是您正在使用的应用程序。 可能是一个设置。 可能是一个司机。
有些networking中的每个TCPstream正在被覆盖到5 Mbps。 最有可能在WAN连接,但它可能在别处。