Phillip Susi wrote:
When I asked about this a month or two ago, someone explained that Apache uses TransmitFile() to implement sendfile but in a weird way that makes it really, really slow. Disabling sendfile in the apache config, and just using the mmap module gives the best throughput on windows.

We, the apr developers, would be very interested in their observations
if you can find a pointer.

I don't know if apache mmaps the entire file if it is large, but if it is very large, I don't see how it can as you only have a limited amount of virtual memory to work with. Unless you run out of virtual memory ( i.e. lots of mapped files, or a single file that is several gigs ) then mapping the entire file isn't really a problem.

It's called swap-death.  Forcing the system to begin paging both mapped
files (which aren't swapped to the swap file since their contents are
unchanged, e.g. your programs and dll files' code pages) and ram (which
is thrown at the swap file) slows it down considerably.

Bill

Reply via email to