wget ftp 整个网站非常慢

wget ftp 整个网站非常慢

我正在尝试将整个站点从服务器 A 传输到服务器 B。它可以工作,但是速度非常慢。

我通过将 100mb psd 文件上传到我的服务器并使用 wget ftp 抓取它来进行测试。传输速度为 26.76mb/秒。

但是当我尝试抓取整个网站(不包括 psd 文件)时,需要 5 分钟才能传输 92mb 的 html 文件。它基本上是一个带有主题和图像的 wordpress 安装。

这是因为它为每个文件打开一个新连接吗?我尝试使用 php 的 ftp 库执行此操作,但这花费的时间一样长,甚至更长。

scp、ssh 不是一个选项,因为 98% 的时间我都不拥有服务器,所以我必须使用某种 ftp。我正在使用:

wget -r ftp://user:[email protected]/dir is what I'm using.

答案1

传输大量文件总是比传输一个大文件慢。将网站内容压缩后,传输速度会快得多。您可以使用tar它来执行此操作。

答案2

wget将尝试保持连接打开,但即使只有一个连接,服务器端也会产生很大的开销来处理每个请求,这很可能是导致您所看到的速度变慢的原因。

答案3

这并不像-r我承认的那么简单,但你可以试试这个:列出文件列表,将该列表分成六个部分,然后同时启动 wget 六次,每次启动列表的一部分。简单看一下累计传输速度,你就会知道文件数量是否是问题所在。

答案4

由于每个文件都建立连接,因此无法加快传输速度,但可以尝试复制文件它允许你镜像 ftp

来自 ftpcopy 站点:

速度

ftpcopy 需要大约 110 秒来复制我的网站。后续运行不需要复制任何内容,大约需要 1.04 秒。mirror 需要大约 250 秒来复制我的网站。后续运行不需要复制任何内容,大约需要 2.6 秒。

相关内容