Bug#495656: apache2-mpm-worker: ThreadLimit directive goes unnoticed
Package: apache2-mpm-worker
Version: 2.2.3-4+etch4
Severity: important
Hi,
Using the ThreadLimit directive when configuring apache2 to use the
mpm_worker_module, the startup messages show that this directive is
ignored. Apache always maintains the value 64.
there is a
#define DEFAULT_THREAD_LIMIT 64
setting in file
./server/mpm/worker/worker.c:
of the apache2 source package.
Below a series of mpm_worker_module configurations and the associated
start or stop messages. The series supports my notion that the directives
are read and checked for consistency, but the value of ThreadLimit is
always presupposed to be at its default value of 64 -- whatever the
directive is.
<IfModule mpm_worker_module>
ServerLimit 25
StartServers 10
MaxClients 1600
ThreadLimit 2
MinSpareThreads 25
MaxSpareThreads 256
ThreadsPerChild 1024
MaxRequestsPerChild 0
</IfModule>
scratch # /etc/init.d/apache2 start
=>
Starting web server (apache2)...WARNING: ThreadsPerChild of 1024 exceeds ThreadLimit value of 64
threads, lowering ThreadsPerChild to 64. To increase, please see the
ThreadLimit directive.
<IfModule mpm_worker_module>
ServerLimit 25
StartServers 10
MaxClients 1600
ThreadLimit 128
MinSpareThreads 25
MaxSpareThreads 256
ThreadsPerChild 1024
MaxRequestsPerChild 0
</IfModule>
scratch # /etc/init.d/apache2 stop
Stopping web server (apache2)...WARNING: ThreadsPerChild of 1024 exceeds ThreadLimit value of 64
threads, lowering ThreadsPerChild to 64. To increase, please see the
ThreadLimit directive.
httpd (no pid file) not running
<IfModule mpm_worker_module>
ServerLimit 25
StartServers 10
MaxClients 3200
ThreadLimit 128
MinSpareThreads 25
MaxSpareThreads 256
ThreadsPerChild 128
MaxRequestsPerChild 0
</IfModule>
scratch # /etc/init.d/apache2 stop
=>
Stopping web server (apache2)...WARNING: ThreadsPerChild of 128 exceeds ThreadLimit value of 64
threads, lowering ThreadsPerChild to 64. To increase, please see the
ThreadLimit directive.
WARNING: MaxClients of 3200 would require 50 servers,
and would exceed the ServerLimit value of 25.
Automatically lowering MaxClients to 1600. To increase,
please see the ServerLimit directive.
httpd (no pid file) not running
<IfModule mpm_worker_module>
ServerLimit 25
StartServers 10
MaxClients 1600
ThreadLimit 128
MinSpareThreads 25
MaxSpareThreads 256
ThreadsPerChild 128
MaxRequestsPerChild 0
</IfModule>
scratch # /etc/init.d/apache2 stop
=>
Stopping web server (apache2)...WARNING: ThreadsPerChild of 128 exceeds ThreadLimit value of 64
threads, lowering ThreadsPerChild to 64. To increase, please see the
ThreadLimit directive.
httpd (no pid file) not running
<IfModule mpm_worker_module>
ServerLimit 25
StartServers 10
MaxClients 1600
ThreadLimit 1
MinSpareThreads 25
MaxSpareThreads 256
ThreadsPerChild 64
MaxRequestsPerChild 0
</IfModule>
scratch # /etc/init.d/apache2 start
=>
Starting web server (apache2)....
scratch # /etc/init.d/apache2 stop
=>
Stopping web server (apache2)....
regards
max.
-- System Information:
Debian Release: 4.0
APT prefers stable
APT policy: (500, 'stable')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18
Locale: LANG=en_US.iso88591, LC_CTYPE=en_US.iso88591 (charmap=locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
ANSI_X3.4-1968)
Versions of packages apache2-mpm-worker depends on:
ii apa 2.2.3-4+etch4 Next generation, scalable, extenda
ii lib 1.2.7-8.2 The Apache Portable Runtime Librar
ii lib 1.2.7+dfsg-2 The Apache Portable Runtime Utilit
ii lib 2.3.6.ds1-13etch5 GNU C Library: Shared libraries
ii lib 4.4.20-8 Berkeley v4.4 Database Libraries [
ii lib 1.95.8-3.4 XML parsing C library - runtime li
ii lib 2.1.30-13.3 OpenLDAP libraries
ii lib 6.7+7.4-3 Perl 5 Compatible Regular Expressi
ii lib 8.1.11-0etch1 PostgreSQL C client library
ii lib 3.3.8-1.1 SQLite 3 shared library
ii lib 1.39+1.40-WIP-2006.11.14+dfsg-2etch1 universally unique id library
apache2-mpm-worker recommends no packages.
-- debconf information excluded
Reply to: