[peruser] Peruser patch (v10)

Alexey Vlasov renton at 1gb.ru
Tue Jan 11 03:32:22 MST 2011

Hi Marcelo Coelho!

Thank you so much, nice work!
We've had troubles with unworking graceful and segfaults for several
years :(

If somehow there gonna be the way  how to fix the breacking down
child_info_table from time to time then it will be quiet perfect in peruser.

On Mon, Jan 10, 2011 at 07:20:35PM -0200, Marcelo Coelho wrote:
> Hello!
> Many changes. Here it is a new patch (v10).
> Patch from RC2:
> http://opensource.mco2.net/download/apache/peruser/peruser-rc2-to-rc3-v10.patch
> Full patch from vanilla Apache 2.2.17:
> http://opensource.mco2.net/download/apache/peruser/peruser-rc3-full-v10.patch
> Changes (from RC2):
> * (v10) Bug fixed: fixed some segfaults
> * (v10) Bug fixed: work around to a flaw in apr-util (as PR 43857)
> * (v9) Not released to public
> * (v8) Bug fixed: apachectl graceful now is more stable, like RC2 version
> * (v8) Bug fixed: fixed some segfaults (thank you Dave Steinberg for sending your core dumps)
> * (v8) Bug fixed: server dies with infinite loop script, reported by Taavi Sannik
> * (v8) Bug fixed: "long lost child" error, reported by Taavi Sannik
> * (v8) Performance: update_all_counters() rewritten without malloc() and free()
> * (v7) Bug fixed: multiplexers now can clone a processor child if all workers are busy.
> * (v6) Bug fixed: apachectl graceful now working properly, without "long lost child" errors
> * (v5) Not released to public
> * (v4) Code cleanup
> * (v4) Performance: childs are started in ~25ms, 40 times faster than in RC2 (~1000ms)
> * (v4) Bug fixed: now checking if total_processors is 1 (first access) to start StartProcessors
> * (v3) Performance: new child type (CHILD_TYPE_RESERVED) to avoid collision (2 childs trying to get the same free slot)
> * (v3) Bug fixed: fixed a bug in RC2, wait_timeout was always 0, never sleeping to wait for new workers.
> * (v2) Performance: StartProcessors, new configuration directive to control the number of child processors per vhost at startup
> * (v2) Performance: childs are started in ~50ms, 20 times faster than in RC2 (~1000ms)
> * (v1) Performance: faster to lookup for free slots (this is important on busy servers, with many virtual hosts)
> * (v1) Performance: faster to count processors, one single loop counts all processors
> * (v1) Bug fixed: bug when MinSpareProcessors is set to 0 (now all workers processes are killed when idle_timeout is reached)
> * (v1) Bug fixed: Free-up slots when a WORKER or PROCESSOR unexpectedly dies

BRGDS. Alexey Vlasov.

More information about the Peruser mailing list