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

Reply via email to