That's what it was, thanks. Say, the name says 'Sendfile' but that
doesn't exist on win32. Does apache call TransmitFile() instead or does
it use some very poor library emulation of sendfile()? If it were using
TransmitFile() I would expect it to not have any trouble saturating the
network.
FYI, I used wget to download the file without SSL and with sendfile
disabled and it took 55 seconds and reported a rate of 11 MB/s. I used
a copy command to download the file from the command prompt via the SMB
mapped drive and it took 90 seconds. I wonder what the heck the deal is
with all that fancy kernel mode redirector stuff not working out the way
they designed?
I don't even see why the option for sendfile should exist on the win32
build, seeing as how you can achieve the same performance using memory
mapped zero copy overlapped IO, which also would work with non disk
files, such as an SSL encrypted connection.
One of these days I'm going to have to take a little vacation from work
and write an MPM to do just that.
Rici Lake wrote:
Try setting
EnableSendfile off
in your apache config file and rerunning the tests. There have been
other reports of surprisingly slow transfer speeds with sendfile
enabled on Windows. This won't affect SSL, of course, since the SSL
transfer cannot use sendfile.