httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chuck Murcko <>
Subject Re: Parallel request limits
Date Mon, 29 Jun 1998 04:44:27 GMT
Rasmus Lerdorf wrote:
> I have seen a couple of benchmark tests now that showed a sudden drop-off
> in performance as the number of concurrent clients were increased.
> I figured it would be a good idea to try to track down the reason.  I
> always thought it was something stupid like MaxClients being set too low.
> ...testing edited
> So, I probably need to up some of my limits here if I want to test a
> higher number of parallel requests with this http_load program.  I am
> pretty sure this is what these various benchmarkers are running into.  We
> really should put together some sort of performance/benchmark tuning page
> that explains some of these issues a bit better.
There is

but it's a bit dated, and could use some new stuff. The trick if you
have enough memory in your box is to set MaxSpareServers and
MinSpareServers up, as you have, and also to set MaxRequestsPerChild as
high as possible for your version of Solaris. 2.6 seems pretty good in
this respect, little or no library memory leak. The thing that'll kill
you is forking additional servers to handle the blips in the traffic.
Moving [Min|Max]SpareServers up helps this a lot. We also saw marked
improvement in network and paging performance going from 2.5.1 to 2.6 on
both Ultra IIs and E3000s (and even Pentium IIs running Solaris X86).

The Sun kernel guys I've talked to seem to feel you can usually only get
another 10-15% performance out of the kernel on newer Solaris versions,
as long as swap spindles (up to three seems to help) or other configs
aren't getting in the way. As you've seen, tuning the server helps a lot
more than that.

There are a few params useful for tuning the memory management policy on
Solaris. You can tune maxpgio, lotsfree, and slowscan and fastscan. Fast
swap drives (5400 RPM) will let you bump up maxpgio (max page i/o per

Are you doing mmap'ed I/O, using Dean's mod_mmap_static? That could
help, too.
Chuck Murcko            The Topsail Group             West Chester PA

View raw message