在两台服务器之间传输文件的最快方法

时间:2013-11-18 03:35:59

标签: http ssh copy file-transfer sshfs

我有一个用例,我需要将一些有效负载从一台服务器移动到另一台服务器。两台服务器都位于相同的数据中心内(即使在同一个亚马逊的可用区中)。

我有服务/端点,只要通过HTTP / HTTPS调用就需要触发文件传输。 我需要加快转移,因为它目前甚至可能需要15秒以上。使其异步(例如,使用像Celery这样的任务队列处理)不一定能解决我的问题(转移仍然需要快速执行 - 无论是在触发它的请求期间还是在请求之外都无关紧要。)

文件大小通常为100KB-500KB,我有以下选项:

  • SSH转移,
  • 文件系统之间的其他安全传输(SSHFS?,rsync通过SSH?),
  • 以文件为主体的HTTP / HTTPS请求
  • 别的什么?

文件总是新的(因此在先前版本和较新版本之间发送差异不适用)。它们是文本文件,因此压缩可能会加快传输速度。

有没有人想过最快的方法(在服务器之间快速安全地传输文件)?服务器是单独的实例,很可能会保持这种状态。 安全也起着重要作用。但除了这些限制之外,我还可以在服务器或安装目录上安装内容。

1 个答案:

答案 0 :(得分:0)

我想到的答案如下:

  • 第一台服务器会压缩所有需要发送的新消息(gzip或其他)
  • 压缩文件在两台服务器之间移动(SCP应该没问题,因为它只有1个文件)
  • 第二台服务器将解压缩消息文件夹中的文件
我认为压缩首先要增加文件大小而不是文件数,这样你会减少两个服务器之间的通信时间,花费一些处理时间,我认为应该小于递归时间移动所有这些文件。