几个星期前,我写了一个简单的Ruby脚本来testingWindows XP环境中的几个FTP命令。 一切按预期工作,我甚至不知道代码运行的时间(我猜最多3-4秒)。
几天前,我正在开发的更多的Ruby应用程序开始运行非常缓慢。 当我调查这个问题时,我将问题隔离到了FTP命令中。 我现在重新运行原来的testing脚本,运行需要两分钟的时间。 命令行FTP本质上是即时的。
ruby目录结构中的文件没有被改变。 我不相信任何新的应用程序已经安装 – 当然没有其他应用程序似乎正在运行。
任何人都可以build议为什么下面的代码应该这么慢? 手动计时print报告之间的时间间隔表明, nlst和ls每个大约需要65秒! 分析器给出了nlst更多的16个合理的ms /呼叫和31个ls呼叫。
如何在当前打开的Aptana Studio 3中打开Filezilla的文件
SFTP到谷歌计算引擎
微软batch file不传递参数到子程序
从网站直接下载文件到FTP服务器
在asynchronous模式下使用FtpFindFirstFile unicode版本访问冲突
require 'net/ftp' Net::FTP.open("ip_redacted","user_redacted","password_redacted") do |ftp| ftp.chdir("dir_redacted") files = ftp.nlst print "files = #{files.sort!}n" list = ftp.ls print "list = #{list}n" file = "filename_redacted" size = ftp.size(file) print "size = #{size}n" end
vsftpd:拒绝在chroot里面写可写根目录
如何通过FTP在rsync中复制所有文件
SFTP与“匹配组”子句失败
从谷歌搜索:
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/112910
希望这可以帮助。
我有一个类似的问题,发现被动模式提高了速度,例如。 ftp.passive=true 。
尝试删除#sort! (只是puts "files = #{files}" ),因为如果目录中有一堆文件,这可能相当昂贵。 这将解释#nlst和#ls周围的大滞后
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。