服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

通过高速,高延迟的WAN链接传输单个大文件的最佳方式是什么?

这看起来与这个有关,但有些不同。 两个公司站点之间有这个WAN链路,我们需要传输一个非常大的文件(Oracle dump,〜160 GB)。 我们有100 Mbps的带宽(已testing),但看起来像单个TCP连接,由于TCP工作方式(ACK等)的原因,无法将其最大化。 我们testing了与iperf的链接,当增加TCP窗口大小时,结果发生了显着的变化:在基本设置下,我们得到〜5 Mbps的吞吐量,而更大的WS我们可以达到〜45 Mbps,但不会超过此值。 networking延迟约为10毫秒。 出于好奇,我们使用多于一个连接来运行iperf,并且我们发现当运行其中的四个连接时,它们确实会达到〜25 Mbps的速度,填充所有可用的带宽; 所以键看起来在运行多个同时传输。 使用FTP,情况会变得更糟:即使使用优化的TCP设置(高窗口大小,最大MTU等),单次传输的速率也不能超过20 Mbps。 我们尝试同时FTP一些大文件,事实上比传输单个文件好得多。 但罪魁祸首成为磁​​盘I / O,因为很快就会从同一个磁盘瓶颈中读取和写入四个大文件; 同样,我们似乎也不能把这个单一的大文件分割成小的文件,然后把它合并回去,至less在可以接受的时候是不行的(显然我们不能把文件拼接/合并的时间相当于转移它)。 这里的理想解决scheme是一个multithreading工具,可以同时传输文件的各个块; 像eMule或者BitTorrent这样的点对点程序已经做到了,但是从单一来源到单个目的地。 理想情况下,该工具将允许我们select使用多less个并行连接,当然也可以优化磁盘I / O,避免在文件的各个部分之间跳跃(太)。 有谁知道这样的工具? 或者,任何人都可以提出一个更好的解决scheme和/或我们已经没有尝试的东西? PS我们已经考虑过支持磁带/磁盘并将其发送到目的地; 如果广域网并没有削减,这将是我们的极端措施,但正如塔南鲍姆(AS Tanenbaum)所说的那样,“永远不要低估满载录像带的旅行车的带宽。”