Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 Oct 2010 17:14:33 +0400
From:      "Alexander Zagrebin" <alexz@visp.ru>
To:        "'Andriy Gapon'" <avg@icyb.net.ua>
Cc:        freebsd-stable@freebsd.org
Subject:   RE: 8.1-STABLE: zfs and sendfile: problem still exists
Message-ID:  <F28DAE02F7C94D25B0D86E3D27006C8B@vosz.local>
In-Reply-To: <4CCABF73.8070707@icyb.net.ua>
References:  <3D1C350B94A44E5D95BAA1596D1EBF13@vosz.local> <4CCABF73.8070707@icyb.net.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
> > I've noticed that ZFS on 8.1-STABLE still has problems with 
> sendfile.
> 
> Which svn revision, just in case?

8.1-STABLE
The source tree was updated 2010-10-27

> > When accessing a file at first time the transfer speed is 
> too low, but
> > on following attempts the transfer speed is normal.
> > 
> > How to repeat:
> > 
> > $ dd if=/dev/random of=/tmp/test bs=1m count=100
> > 100+0 records in
> > 100+0 records out
> > 104857600 bytes transferred in 5.933945 secs (17670807 bytes/sec)
> > $ sudo env LC_ALL=C /usr/libexec/ftpd -D
> > 
> > The first attempt to fetch file:
> > 
> > $ fetch -o /dev/null ftp://localhost/tmp/test
> > /dev/null                                       1% of  100 
> MB  118 kBps
> > 14m07s^C
> > fetch: transfer interrupted
> > 
> > The transfer rate is too low (approx. 120 kBps), but any 
> subsequent attempts
> > are success:
> > 
> > $ fetch -o /dev/null ftp://localhost/tmp/test
> > /dev/null                                     100% of  100 
> MB   42 MBps
> > $ fetch -o /dev/null ftp://localhost/tmp/test
> > /dev/null                                     100% of  100 
> MB   47 MBps
> 
> Can you do an experiment with the same structure but sendfile 
> excluded?

IMHO, ftpd hasn't an option to disable sendfile. I've tried the nginx with
disabled sendfile (the nginx.conf contains "sendfile off;"):

$ dd if=/dev/random of=test bs=1m count=100
100+0 records in
100+0 records out
104857600 bytes transferred in 5.892504 secs (17795083 bytes/sec)
$ fetch -o /dev/null http://localhost/test
/dev/null                                     100% of  100 MB   41 MBps
$ fetch -o /dev/null http://localhost/test
/dev/null                                     100% of  100 MB   44 MBps
$ fetch -o /dev/null http://localhost/test
/dev/null                                     100% of  100 MB   44 MBps

-- 
Alexander Zagrebin




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F28DAE02F7C94D25B0D86E3D27006C8B>