Jeff Trawick wrote:
>
> Even if child process creation is limited by ap_daemons_limit, we
> still write trace messages saying we're about to spawn x children,
> where x > ap_daemons_limit.
>
> This patch doesn't let idle_spawn_rate get over ap_daemons_limit / 2.
> It writes the log message at that threshold as well.
>
> @@ -1030,7 +1032,7 @@
> }
> else {
>
> - if (idle_spawn_rate >= 8) {
> + if (idle_spawn_rate >= ap_daemons_limit / 2) {
> ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_INFO, 0, ap_server_conf,
> "server seems busy, (you may need "
> "to increase StartServers, ThreadsPerChild "
...but then we can't see it ramp up. Do we need to? dunno. I'd prefer
to see it ramp up until we're happy with how it works.
I realize we don't want to put out a log msg with wrong info. Looks
like "free_length" is what we should be using in this msg, rather than
idle_spawn_rate.
> @@ -1048,7 +1050,8 @@
> if (hold_off_on_exponential_spawning) {
> --hold_off_on_exponential_spawning;
> }
> - else if (idle_spawn_rate < MAX_SPAWN_RATE) {
> + else if (idle_spawn_rate < MAX_SPAWN_RATE &&
> + idle_spawn_rate * 2 < ap_daemons_limit) {
> idle_spawn_rate *= 2;
> }
> }
>