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.


Reply via email to