On Tue, 19 Feb 2002, Graham Leggett wrote: > Igor Sysoev wrote: > > > mod_proxy is very ancient module and it's hard to maintain it. > > Er, mod_proxy _was_ a very ancient module, but has been largely > overhauled in v1.3 and completely rewritten in v2.0 in both cases having > full support of HTTP/1.1.
The main problem with mod_proxy is that it reads backend response to 8K buffer and than sends it to client. When it have sent it to client it reads again from backend. After it have sent whole content to client it flushes buffer and only after this it closes backend socket. Even backend send all to its kernel buffer and response is recevied in frontend kernel buffer nevertheless backend need to wait frontend in lingering_close. So we lose at least 2 seconds with small client and big response. > Once mod_cache is finished in v2.0, (in theory) the capability will be > there to disengage expensive backends and slow frontends from each other > - so all your problems will be solved. :) Will see 2.0 but I suppose that multi-threaded mod_perl backend with 10 threads will occupy almost the same memory as 10 mod_perl single thread processes. Igor Sysoev