FTP上传速度问题

google

Web Shell

最近发现一个令人郁闷的技术问题,在使用FTP客户端LeapFTP上传文件到国外服务器的时候速度慢到令人发指,测试采用CuteFTP或FlashFTP或FileZilla均出现同样问题,上传一个尺寸并不很大的程序源码要浪费一天时间。测试下载速度尚能接受,为什么就是上传速度如此之慢呢?Check一下消息返回,发现不断的因为超时(Time out)中断服务器连接,然后再自动重联重新密码验证,再中断,再重联。

研究后发现,往FTP服务器里上传文件的时候,常常会受到网络连接速度的限制,因为每上传一个文件程序就会连接远程服务器的端口(socket),有时候因为网络的延时,端口常常连接失败。因而如果是一个程序包,其中包括大量碎文件,便会反复连接远程端口,无形中增加了限制比重,但如果你上传一个同样大小的单一文件(例如一个ZIP压缩包)很快就可以上传成功,所以针对这个问题,根据迅雷的高速下载的方法得到启发,介绍给大家一个好用高效的上传方法。


首先看原理,其实很简单,既然批量文件上传会产生问题,我们可将文件压缩打包(zip为主,rar识别兼容性一般),上传该压缩文件到服务器,通过带宽质量更好,速度更快的服务器端处理。

方法一:通过服务商的服务器再向远程的FTP服务器传送文件,即通过别人架设好的NET2FTP传送文件。你可以在这里中转传送自己的文件。

方法二:直接把软件安装到自己的FTP服务器上,这样速度会更快。下载NET2FTP后,安装到自己的服务器上,NET2FTP会自动把它在服务器上解压缩然后发送到远程FTP上。

方法三:如果压缩软件可以直接解压缩到服务器上,省掉了一个服务器到服务器的传输过程,速度更快,例如很多主机运营商的File Manager都可以上传Zip,单击后可以直接在主机端解压缩。

注意事项:NET2FTP安装条件 1.先看看你自己的服务器是否符合条件,支持PHP,版本至少是4.2.3(安全模式也没有问题),当然最好是版本越高越好,可以支持一些高级命令。2.要有一定的空间,完整版的NET2FTP(包括全部的官方皮肤和插件)需要将近8Mb大小,还有个简化版的,3Mb左右(只有英语,皮肤一个,好象没有插件)。3.压缩包最好不要太大,一般服务器解压8MB以内的压缩包应该没有问题,如果文件很多,可以分割压缩成多个压缩包(注意是分割压缩,而不是分卷压缩)4.最好使用zip压缩包格式,很多程序只支持zip格式。文/任伟

(版权所有,转载请注明出处)

发表评论

电子邮件地址不会被公开。