Re: [net-ftp-common] Net::FTP slow compared to spawning ftp process

2002-04-19 Thread James D. White

Picking the right value for BlockSize is very important.  I have encountered
an over one order of magnitude difference in transfer rates using different
values for BlockSize when using Net::FTP.

I think the default value is 1K.  I tried powers of 2 from 1K up to 64K.  For
me a BlockSize value of 4K worked best for transferring ~200Kb files from
a Windows NT system to a Sun Solaris system over a 100BaseT switched
network.  I was surprised to see that the larger values were sometimes
just as slow as the smaller values.  The transfer speed decreased as I tried
BlockSize values further away from 4K in either direction.

I would suggest that you try various values to see what works best for you.
To specify a BlockSize, add it to your Net::FTP-new call:

$ftp = Net::FTP-new($host, BlockSize = $::FTP_BLKSIZE);

Graham Barr wrote:

 When transfering in ASCII mode (the default) Net::FTP will be slower
 due to doing the CRLF translation. But transfering in binary mode
 should be comparable. Increasing the transfer blocksize should
 also help.

 Graham.

 On Thu, Apr 18, 2002 at 11:17:24PM -0400, Terrence Brannon wrote:
  Hi Brian,
 
  You might put this question on the [EMAIL PROTECTED] list as
  Net::FTP is maintained by Graham Barr and you are raising an issue
  specific to his module, not my application layer on top of it.
 
  I am Cc'ing this message there
 
  brian_turner_98006 writes:
   : When I do an ftp using:
   : `ftp -i -n $dbshost  'EOF'
   : user $remoteuser $remotepwd
   : get $remotefile $localfile
   : quit
   : EOF`;
   :
   : It takes an average of about 0.024 seconds/request
   :
   : However, when I try it with
   :
   : $ftp = Net::FTP-new($dbshost,Debug = 0);
   : $ftp-login($remoteuser,$remotepwd);
   :
   : then loop with:
   :
   : $ftp-get($remotefile, $localfile)
   :
   : It takes about 1.3 seconds/request.
   :
   : Version info:
   :
   : Summary of my perl5 (revision 5.0 version 6 subversion 0)
   : configuration:
   :   Platform:
   : osname=solaris, osvers=2.6, archname=sun4-solaris
   : uname='sunos rmdsun01 5.6 generic_105181-21 sun4u sparc
   : sunw,ultra-4 '
   :
   : I'm assuming that the login stays connected when I use Net::FTP so
   : this doesn't make sense to me.  Spawning a process+connecting should
   : be slower.  Any suggestions?
   :
   : FWIW, my application requires a large number of small file transfers
   : at random intervals.
   :
   : (I didn't see that Net::FTP was modifed in 5.6.1 based on
   : http://www.perldoc.com/perl5.6.1/Changes.html, but I'm open to
   : upgrading if there's a reasonable chance of fixing this issue)
   :
   : Thanks,
   :
   : Brian
   :
   :
   :
   :
   :
   :  Yahoo! Groups Sponsor -~--
   : Buy Stock for $4
   : and no minimums.
   : FREE Money 2002.
   : http://us.click.yahoo.com/k6cvND/n97DAA/ySSFAA/ndFolB/TM
   : -~-
   :
   : To unsubscribe from this group, send an email to:
   : [EMAIL PROTECTED]
   :
   :
   :
   : Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
   :
   :
   :
 

--

James D. White   ([EMAIL PROTECTED])
Department of Chemistry and Biochemistry
University of Oklahoma
620 Parrington Oval, Room 313
Norman, OK 73019-3051
Phone: (405) 325-4912, FAX: (405) 325-7762






Re: [net-ftp-common] Net::FTP slow compared to spawning ftp process

2002-04-19 Thread Graham Barr

On Fri, Apr 19, 2002 at 11:16:44AM -0500, James D. White wrote:
 Picking the right value for BlockSize is very important.  I have encountered
 an over one order of magnitude difference in transfer rates using different
 values for BlockSize when using Net::FTP.
 
 I think the default value is 1K. 

The default is 10K, which probably is not the best default size

If someone wants todo some analysis on various machines/networks
then I would gladly change it to something better.

Graham.