httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Stoddard" <>
Subject Re: prefork Vs Threaded -- Updated -- and Other Performance Notes
Date Mon, 12 Mar 2001 21:06:38 GMT
Thanks for taking the time to do this.

> Some other performance issues that I've noticed:
>   0. It's using read rather than mmap to get the content
>     from the files being delivered.  Is this just a config
>     error?

Back in the Apache 1.3 days, someone did some performance testing and
discovered that on Solaris, MMAP'ing files less that 8K bytes was more
expensive than just reading them into a buffer.  That same 'optimization' is
in Apache 2.0.  Not sure what version of Solaris was used to determine that
initial MMAP_THRESHOLD and if it is still a good number for the latest
releases. This would be a good thing to do some more testing on.

>   1. On a request that results in a 304, the httpd does a
>     gratuitous open/close of the requested file after stat'ing it.

Sounds like a bug.

>   2. There's also an extra read on the request socket just
>     before the httpd sends the response, and another after
>     the logger runs; both of these fail with EAGAIN.  (I saw
>     this with an HTTP/1.1 client that supports keepalives, so
>     the last failed read was followed by a poll to wait for
>     the next request on the socket.)

I suspect this is from checking for pipelined connections.  To the best of my
knowledge, no browsers actually support pipelined connections but we take a
performance hit each request checking for pipelined requests. Uuugh.


View raw message