我在家里有 50 兆位连接,在工作的地方有 1Gb 连接,但使用 HTTP FTP 或 RD 在家里和工作服务器之间传输文件的速度非常慢,大约为 300KB/s。
我应该怎么做才能提高传输速率?
编辑:我家的连接速度是 50/10,但是,我现在更关心的是下载速度。我所说的速度只是使用这些方法下载单个文件的速度。我最担心的是客户端也会从服务器获得这种类型的速度,所以我可能在错误的地方寻找问题。
编辑 #2:听取了这里很多人的建议后,我用 iperf 进行了测试,结果显示传输速度为 3.03 MB/s,带宽为 2.50Mbits/s(我不确定这是什么意思,因为我不确定传输速度怎么会高于带宽)。但是,假设我能以 3MB/s 的速度传输,哪种程序/协议能最好地利用这一点?
答案1
我家里有 50 兆比特的连接...
你?
我见过的所有家庭宽带连接都对上传速度有严格的限制。例如,我目前的下行速度为 30 兆比特,但上行速度限制为 1 兆比特。
检查你的速度http://speedtest.net/看看是否看到类似的不对称设置。
答案2
这稍微偏离了你的主题,但如果你可以处理后台传输,那么使用dropbox.net。只需拖放要传输的文件,等你到家时,所有内容就都同步了。
答案3
你没有说你尝试过什么方法,但如果你还没有尝试过,请使用可以支持多个并行传输的客户端——WinSCP(scp)和FileZilla(ftp)都支持这一点。如果你尝试传输单个文件,你需要将其分成几个部分,并在到达另一端后重新组装。
如果您使用 Windows 文件共享(例如 SMB)连接两台机器,请检查 RichCopy - “文件复制”值决定将发生多少个并发传输...尝试多个值,直到达到最大吞吐量。
http://technet.microsoft.com/en-us/magazine/2009.04.utilityspotlight.aspx
您不一定能够使连接饱和,这取决于两个端点的路由器如何配置,更不用说中间的每个节点了。
答案4
如果您已经拥有一些尝试下载的文件的旧的、过时的版本,那么 rsync(可能包装在漂亮的 Unison GUI 中)可以使传输更快地完成。
rsync 不会改变您的比特/秒吞吐量;但是它只下载文件中实际发生变化的部分,从而为我节省了大量时间。