Hi Ruediger,
On Apr 2, 2006, at 22:54, Ruediger Pluem wrote:
On 04/02/2006 04:46 PM, Bjørn Stabell wrote:
<VirtualHost *:80>
ProxyPass /zope http://192.168.0.242:7680/
max=2 timeout=1 acquire=1 ttl=1
</VirtualHost>
I'm using mpm-worker, both machines are Linux machines.
I thought Apache would make no more than 2 connections to the backend
server, but lsof on the backend server shows something else:
The cache limit is per httpd process. How many httpd processes are
running?
What mpm are you using?
Can you check if there are really more than 2 connections per httpd
process
on the frontend?
# lsof -i :7680 | wc -l
121
Are you sure that all of these connections are established? Could
you also check
netstat -an | egrep ":7680.*ESTABLISHED"?
I'm running mpm-worker with config:
<IfModule mpm_worker_module>
StartServers 2
MaxClients 128
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 64
MaxRequestsPerChild 0
</IfModule>
# /nb/apache-2.2/bin/httpd -l
Compiled in modules:
core.c
worker.c
http_core.c
mod_so.c
This should give 2 processes, each with 64 threads, right? At the
peak, 64 connections are established with the backend:
# netstat -an | egrep ":7680.*ESTABLISHED" | wc -l
64
Btw, since the number of processes is rather indirect with the advent
of mpm-worker, and since most people would be most interested in
limiting the total number of connections to the backend (to spare the
backend), wouldn't it make more sense to limit the total number?
Btw2, it wasn't very clear from the docs at http://httpd.apache.org/
docs/2.2/mod/mod_proxy.html that they were per-process maximums. I
think most people will read "Apache will never create more than the
Hard Maximum or max connections to the backend server." as meaning
max across all processes and threads.
Rgds,
Bjorn