On 14.02.2009 15:09, Ruediger Pluem wrote:
Current we set is_address_reusable to 0 for the reverse and forward
worker. Is this really needed?
IMHO we could reuse the connection if it goes to the same target
(we already check this).
By "check" you mean the code in ap_proxy_determine_connection()?
The check there seems only to happen in the case were the client reuses
a keepalive connection.
I have the feeling, that disablereuse and is_address_reusable are used
almost in the same way at the moment, except for mod_proxy_ftp.
Both attributes are always checked together, so both imply the same
behaviour.
What's the expected case were you can actually reuse the backend
connection? A client using HTTP Keep-Alive and a backend connection
that's not too busy, so that consecutive client requests to the same
backend can be send via the same backend connection?
Could that be generalized to concurrent client connections C1, C2, ...
mapping to different backend connections B1, B2, ..., each of them
reused for the same client connection as long as it lasts (C1 -> B1,
C2-> B2, ...)? If so, we would also need to find good default pool
configuration for the reverse and forward worker.
There's also a use case, were proxy requests are defined via
RewriteRule. In case the host in the rewrite rule is a constant string,
we would benefit from initializing a real worker, not using the default
workers.
Regards,
Rainer