Graham Dumpleton
graham.dumpleton at gmail.com
Mon Jan 21 23:32:12 EST 2008
It is just logging messages and pretty meaningless. It doesn't affect at all how mod_python works. Whether it is a bug or nor I don't know, it just may be how Apache reports things on a restart. Graham On 22/01/2008, Alec Matusis <matusis at yahoo.com> wrote: > > Just ignore it if it seems wrong. It is quite possible mod_python does > > it wrong > > Am I correct in thinking that this bug will actually reduce the number of > available maxclients to mod_python (i.e. it's not just a logging error)? > We serve both scripts and static content from this apache server, so > hopefully this will at least not affect the settings for static content? > > Incidentally, I think this random number "11 max processes" is the actual > number of processes that were alive when apache was restarted by cron. Since > we run that cron at night, the number of processes that we need during the > day is higher, so this could be a problem. > > > -----Original Message----- > > From: Graham Dumpleton [mailto:graham.dumpleton at gmail.com] > > Sent: Monday, January 21, 2008 7:38 PM > > To: Alec Matusis > > Cc: mod_python at modpython.org > > Subject: Re: [mod_python] strange behavior with mpm worker (inaccurate > > number of max processes?) > > > > Just ignore it if it seems wrong. It is quite possible mod_python does > > it wrong, or does it in a way which isn't compatible with newer > > versions of Apache. The code certainly has various warnings against > > the code which make it look a little suspect. > > > > /* figure out maximum possible concurrent connections */ > > /* MAX_DAEMON_USED seems to account for MaxClients, as opposed to > > MAX_DAEMONS, which is ServerLimit > > */ > > ap_mpm_query(AP_MPMQ_IS_THREADED, &is_threaded); > > if (is_threaded != AP_MPMQ_NOT_SUPPORTED) { > > ap_mpm_query(AP_MPMQ_MAX_THREADS, &max_threads); > > } > > ap_mpm_query(AP_MPMQ_IS_FORKED, &is_forked); > > if (is_forked != AP_MPMQ_NOT_SUPPORTED) { > > /* XXX This looks strange, and it is. prefork.c seems to use > > MAX_DAEMON_USED the same way that worker.c uses > > MAX_DAEMONS (prefork is wrong IMO) */ > > ap_mpm_query(AP_MPMQ_MAX_DAEMON_USED, &max_procs); > > if (max_procs == -1) { > > ap_mpm_query(AP_MPMQ_MAX_DAEMONS, &max_procs); > > } > > } > > max_clients = (((max_threads <= 0) ? 1 : max_threads) * > > ((max_procs <= 0) ? 1 : max_procs)); > > > > Graham > > > > On 21/01/2008, Alec Matusis <matusis at yahoo.com> wrote: > > > > > > > > > > > > > > > We are using worker MPM > > > > > > Our apache configuration is > > > > > > > > > > > > ServerLimit 40 > > > > > > ThreadLimit 70 > > > > > > > > > > > > StartServers 10 > > > > > > MaxClients 1600 > > > > > > MinSpareThreads 75 > > > > > > MaxSpareThreads 200 > > > > > > ThreadsPerChild 40 > > > > > > MaxRequestsPerChild 10000 > > > > > > > > > > > > When apache is restarted with > > > > > > #apachectl stop > > > > > > #apachectl start > > > > > > We get in the error log: > > > > > > [notice] mod_python: Creating 32 session mutexes based on 40 max > > processes > > > and 40 max threads > > > > > > [notice] Apache/2.2.6 (Unix) mod_python/3.3.1 Python/2.4.1 configured > > -- > > > resuming normal operations > > > > > > This is what we expect. > > > > > > > > > > > > Now we restart apache this way: > > > > > > #apachectl restart > > > > > > In the error log: > > > > > > [notice] SIGHUP received. Attempting to restart > > > > > > [notice] mod_python: Creating 32 session mutexes based on 11 max > > processes > > > and 40 max threads. > > > > > > [notice] mod_python: using mutex_directory /tmp > > > > > > [notice] Apache/2.2.6 (Unix) mod_python/3.3.1 Python/2.4.1 > > configured -- > > > resuming normal operations > > > > > > > > > > > > Where does this number "11 max processes" come from? We do not have > > it > > > anywhere in the configuration. > > > > > > > > > > > > > > > > > > We get > > > > > > > > > _______________________________________________ > > > Mod_python mailing list > > > Mod_python at modpython.org > > > http://mailman.modpython.org/mailman/listinfo/mod_python > > > > > > > >
|