Hi all,

We just upgraded to Debian Lenny and saw some unexpected behaviour from an
Apache node running a mod_perl2 app which I hope someone here can explain.

After running the system for a short while, the server stops accepting
requests. Checking the system, we can see that all workers have disappeared
but the apache2 parent process remains alive. There's no relevant
information in the access or error logs. After some experimentation, we have
also found that if we restart the server with MaxRequestsPerChild set to
zero, it seems to keep going. It thus looks like the workers stop after
serving MaxRequestsPerChild, then are not restarted.

So, any ideas about what's going on or how to troubleshoot this would be
appreciated.

Here are some further details:

apache2.conf - Problematic config section (migrated from etch):
<IfModule mpm_worker_module>
   StartServers          2
   MaxClients          200
   MinSpareThreads      25
   MaxSpareThreads      75
  ThreadsPerChild      50
  MaxRequestsPerChild   10000
</IfModule>

apache2.conf - working (default) config:
<IfModule mpm_worker_module>
   StartServers          2
   MaxClients          200
   MinSpareThreads      25
   MaxSpareThreads      75
  ThreadsPerChild      25
  MaxRequestsPerChild   0
</IfModule>

$ apache2 -v
Server version: Apache/2.2.9 (Debian)
Server built:   Apr 20 2010 15:42:00

$ APACHE_RUN_USER=www-data APACHE_RUN_GROUP=www-data apache2 -t -D
DUMP_MODULES
Loaded Modules:
 core_module (static)
 log_config_module (static)
 logio_module (static)
 mpm_worker_module (static)
 http_module (static)
 so_module (static)
 alias_module (shared)
 apreq_module (shared)
 auth_basic_module (shared)
 auth_digest_module (shared)
 authn_file_module (shared)
 authz_default_module (shared)
 authz_groupfile_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 cgid_module (shared)
 dav_module (shared)
 dav_fs_module (shared)
 dav_lock_module (shared)
 deflate_module (shared)
 env_module (shared)
 headers_module (shared)
 mime_module (shared)
 negotiation_module (shared)
 perl_module (shared)
 proxy_module (shared)
 proxy_http_module (shared)
 setenvif_module (shared)
 ssl_module (shared)
 status_module (shared)
Syntax OK

Best regards,
Thomas
-- 
Thomas Lindgren, Chief Technology Officer, Diino AB

Reply via email to