Hi,

Alexander, this is great!.

Response:

1. Yes, there are only 17 instances of EAGAIN for the first 10-20GB (test
run), the strace log is now filled with read and write activity.
2. The default buffer size remains 65536 (as shown in strace) (with the
default buffer size and with 0x20000)

Testing with a higher buffer size as noted in the previous e-mail (0x20000)

0x20000:: Unbelievable!  With this buffer optimization I am seeing peaks of
970MiB/s++ on 3.12.x:
`...-11e0-a3b1-806e6f6e6963.vhd' at 78537702112 (50%) 977.35M/s eta:81s
[Receiv

RESULTS::
156505837056 bytes transferred in 159 seconds (939.49M/s)

5.86user 152.38system 2:38.88elapsed 99%CPU (0avgtext+0avgdata
3244maxresident)k
0inputs+0outputs (2major+1288minor)pagefaults 0swaps
156505837056 bytes transferred in 173 seconds (862.45M/s)

8.60user 162.37system 2:53.09elapsed 98%CPU (0avgtext+0avgdata
3388maxresident)k
0inputs+0outputs (12major+1337minor)pagefaults 0swaps
156505837056 bytes transferred in 169 seconds (885.41M/s)

6.37user 159.36system 2:48.60elapsed 98%CPU (0avgtext+0avgdata
3364maxresident)k
0inputs+0outputs (12major+1333minor)pagefaults 0swaps

Testing an even higher buffer to see if there is benefit above 0x20000 vs
0x40000, it does not appear to be the case:

So with lftp-pre4.5.0.20131214 and a buffer xfer-size of 0x20000 clearly
gives the best results here, I'll switch over my production systems to this
for now and let you know if I have any problems, so far everything is
looking great, especially the performance..!

(with 0x40000:)
156505837056 bytes transferred in 185 seconds (807.17M/s)

3.78user 179.07system 3:04.94elapsed 98%CPU (0avgtext+0avgdata
3744maxresident)k
0inputs+0outputs (6major+1451minor)pagefaults 0swaps
156505837056 bytes transferred in 191 seconds (779.53M/s)

4.05user 185.18system 3:11.50elapsed 98%CPU (0avgtext+0avgdata
3904maxresident)k
0inputs+0outputs (12major+1499minor)pagefaults 0swaps
156505837056 bytes transferred in 197 seconds (757.18M/s)

4.22user 190.66system 3:17.14elapsed 98%CPU (0avgtext+0avgdata
4000maxresident)k
0inputs+0outputs (8major+1482minor)pagefaults 0swaps

Justin.

> -----Original Message-----
> From: Alexander V. Lukyanov [mailto:[email protected]]
> Sent: Friday, December 13, 2013 9:37 AM
> To: Justin Piszcz
> Cc: [email protected]
> Subject: Re: lftp-pre4.5.0-20131206
> 
> On Fri, Dec 13, 2013 at 09:03:00AM -0500, Justin Piszcz wrote:
> > This latest version (lftp-pre4.5.0.20131214)--is showing improved
> > performance, including two sub-3 minute transfers for the dataset, also
at
> > the server-level, CPU utilization increased (pure-ftpd) from 35% to
45-47%
> > (which isn't a problem but demonstrates lftp can pull the data faster
now)..
> 
> I'm glad to hear that. Please use strace to see if system call pattern
> is optimal.
> 
> > After (newest code base)
> > Version: lftp-pre4.5.0.20131214
> >
> > 10.33user 165.36system 2:56.93elapsed 99%CPU (0avgtext+0avgdata
> > 17.34user 165.72system 3:03.97elapsed 99%CPU (0avgtext+0avgdata
> > 13.40user 159.24system 2:54.20elapsed 99%CPU (0avgtext+0avgdata
> >
> > Before:
> > Version (lftp-pre4.5.0-20131206) and it was normal:
> >
> > 22.34user 164.00system 3:07.52elapsed 99%CPU
> > 22.29user 165.31system 3:09.03elapsed 99%CPU
> 
> I see that user time is decreased (probably because of buffer swapping
> optimization), but system time is still the same. Please try larger
> settings for xfer:buffer-size to see if they decrease system time. Use
> strace to ensure lftp really uses those buffer sizes (it does here).
> 
> --
>    Alexander.
> 
> 
> > > -----Original Message-----
> > > From: Alexander V. Lukyanov [mailto:[email protected]]
> > > Sent: Friday, December 13, 2013 8:39 AM
> > > To: Justin Piszcz
> > > Cc: [email protected]
> > > Subject: Re: lftp-pre4.5.0-20131206
> > >
> > > On Thu, Dec 12, 2013 at 04:24:14AM -0500, Justin Piszcz wrote:
> > > > lftp is still reading 65536 buffers, but not larger than that:
> > >
> > > Ok, I have made another snapshot:
> > >   http://lftp.yar.ru/ftp/devel/lftp-pre4.5.0.20131214.tar.gz
> > >
> > > Please give it a try. You can test various values for xfer:buffer-size
> > > and see which works better. By default it is still 0x10000. For me
that
> > > value works best for transfers from localhost. For some obscure reason
> > > 0x20000 bytes cannot be passed at once from localhost and are split
into
> > > two packets of 131004 and 68 bytes (linux-3.11.4-201.fc19.x86_64).
> > >
> > > --
> > >    Alexander.

_______________________________________________
lftp-devel mailing list
[email protected]
http://univ.uniyar.ac.ru/mailman/listinfo/lftp-devel

Reply via email to