免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3506 | 回复: 8
打印 上一主题 下一主题

如何提高Net::FTP的速度 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-01-21 17:22 |只看该作者 |倒序浏览
现在写了一个perl的脚本上传下载文件,但是速度要比直接使用ftp 上传下载文件慢1个数量级。
创建的语句如下:
$ftp = Net::FTP->new($Para{FTP_IP}, Debug => 0, Hash =>1, Passive =>1, Timeout =>10, BlockSize =>8192)

请问这个和哪些因素相关呢?谢谢!

论坛徽章:
0
2 [报告]
发表于 2011-01-21 17:40 |只看该作者
我觉得你应该研究一下,然后给大家分享一下

论坛徽章:
0
3 [报告]
发表于 2011-01-22 15:29 |只看该作者
你先对文件切块md5校验,然后用UDP作简单的私有协议直接发送——这是针对网络状况一般的环境;
如果网络状况好,直接UDP都传完再校验;
如果网络状况太差,用TCP比较省事。

至于FTP……从我学了Perl之后就再也不记得vsftp之类的破玩意儿要怎么配了,麻烦死了。

论坛徽章:
0
4 [报告]
发表于 2011-01-22 17:31 |只看该作者
现在写了一个perl的脚本上传下载文件,但是速度要比直接使用ftp 上传下载文件慢1个数量级。
创建的语句如下 ...
ConquerorLiu 发表于 2011-01-21 17:22



   
个人认为问题出在:BlockSize =>8192

除非你明确每个参数的意义,并且确定加上比不加要好,否则一些非必要的参数最好不好加。

论坛徽章:
0
5 [报告]
发表于 2011-01-24 10:20 |只看该作者
回复 3# r_zack


  直接用UDP或者TCP都是服务器,客户端模式,我现在是用的perl实现的客户端,那么服务器端我是没法控制的,只能用ftp对吧,除非我在服务器端写一个配合的收包写文件的应用程序
对吧

论坛徽章:
0
6 [报告]
发表于 2011-01-24 10:22 |只看该作者
回复 4# cnncc


    目前我做了一个测试,这个blocksize默认是10K, 我从1k一直测试到10k,发现设置在1k到5k的时候,速度达到要求了。。看来这个因素还是比较大的。
不过好像貌似用不同的用户来测试,速度还不一样。比较奇怪。还有一个问题就是传一个文件的时候比较快,如何接连传几个文件,合起来的速度还是要比传一个慢一半。不知何故!

论坛徽章:
78
双子座
日期:2013-10-15 08:50:09天秤座
日期:2013-10-16 18:02:08白羊座
日期:2013-10-18 13:35:33天蝎座
日期:2013-10-18 13:37:06狮子座
日期:2013-10-18 13:40:31双子座
日期:2013-10-22 13:58:42戌狗
日期:2013-10-22 18:50:04CU十二周年纪念徽章
日期:2013-10-24 15:41:34巨蟹座
日期:2013-10-24 17:14:56处女座
日期:2013-10-24 17:15:30双子座
日期:2013-10-25 13:49:39午马
日期:2013-10-28 15:02:15
7 [报告]
发表于 2011-01-25 10:04 |只看该作者
回复 6# ConquerorLiu


    传1个100m的文件肯定要比传10个10m的文件要快

论坛徽章:
0
8 [报告]
发表于 2011-01-25 15:16 |只看该作者
回复  cnncc


    目前我做了一个测试,这个blocksize默认是10K, 我从1k一直测试到10k,发现设置在1k ...
ConquerorLiu 发表于 2011-01-24 10:22



      多个小文件必然慢

论坛徽章:
0
9 [报告]
发表于 2011-01-28 15:00 |只看该作者
回复 7# yybmsrs


    慢的话是可以理解,是合理的,但是慢一半甚至只有传一个的时候的三分之一,还是不可以接受啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP