如何加快互联网上服务器之间的文件传输速度?

如何加快互联网上服务器之间的文件传输速度?

如何快速将文件从一台服务器传输到另一台服务器?我现在使用 FTP 传输文件,但耗时太长。传输 2 GB 的文件大约需要 3 个小时。有没有比 FTP 更快的传输文件的方法。服务器位置:一个在印度,另一个在美国。

答案1

这对于您所在的位置来说正常吗?如果您将 2GB 传输到其他站点,您通常会看到什么样的速度?您所在位置和远程位置的网络速度是多少?

长距离传输速度主要取决于两个位置之间以及中间任何一跳的可用网络带宽。您正在通过互联网传输数据,这意味着速度可能会不时发生很大变化。互联网不保证最低速度。

你最好的选择是:

  1. 在传输数据之前,请压缩本地服务器上的数据,以使其大小更小。
  2. 使用 rsync 动态压缩数据。请参阅以下示例http://en.wikipedia.org/wiki/Rsync#Examples
  3. 将数据分成几块,每次传输一个。这不会加快数据传输速度,但会使传输更具容错性(如果传输 99% 失败,您无需从头开始)。压缩可以提供帮助。
  4. 其他 ISP 或网络可能提供更好的传输速度。请尝试其他 ISP 或网络。

答案2

SF 社区成员可能不愿意将您带回到 Unix 的石器时代,但为了降低协议开销并获得良好的压缩率,您可能想尝试组合dd + netcat + bzip2。是的,这并不安全,因此您必须关闭除两个节点之外的所有端口。没有保证,没有安全性,没有身份验证……但速度更快。

1-使用bzip2file.bz2压缩文件

2 - 在 node2 上使用 netcat 进行监听

     nc -l 6668 | dd of=/dir/file.bz2
  1. 从 node1 推送

     dd if=/dir/file.bz2 | nc node2 6668
    

答案3

  • 使用 SSH 登录其中一台服务器
  • 打开从您登录的服务器到另一台服务器的文件传输(例如lftp、scp等)
  • 发送文件。

最后两个可能是一样的,但我想从中得到 3 个步骤。很简单,只需“发送文件即可”。

答案4

您是否在两端启用了 TCP 窗口缩放?即使您有大量带宽,美国和印度之间的连接本质上也会有一个巨大的带宽延迟积。如果启用了窗口缩放,但 FTP 性能仍然不佳,您可以尝试并行运行 rsync

另外,不要再使用 FTP 了。这是一个糟糕的协议。:)

相关内容