tomas.styblo at jet2web
Mar 7, 2002, 7:20 AM
Post #1 of 1
I would like to ask some questions about buffering in mod_backhand
proxy. We have some application web servers with PHP and mod_perl, which
run _very_ huge Apache processes (commonly 20 MB per process). We
need to minimize the time that these huge Apache processes spend
delivering the dynamic content to dialup users on slow connections.
Therefore we need some sort of a frontend, which will buffer the output
of these app serveres and will take care of the delivery process.
Mod_backhand proxies seem to be a very nice solution.
But I got following questions:
1) The Apache SendBufferSize directive affects the size of the kernel
buffer for each socket. I suppose that if I set it to, say 64 KB, then
the proxy will be able to buffer max. 64 KB of data. If a dynamic page
generated by the app server would be larger than 64 KB, then the proxy
must maintain open connections to both the client and the app server. In
this case, the app servers will still spend some time actually
delivering the content. Is my understanding correct ? Or is there also
some other kind of buffer in mod_backhand on application level, besides
the kernel-maintained socket buffers ?
2) I suppose that to make the SendBufferSize directive to really work,
on FreeBSD the following susctls must be issued:
sysctl kern.ipc.maxsockbuf=8388608 /* or higher */
That would make nice addition to your FAQ.
3) The kernel socket buffers cannot be larger than 64 KB unless both the
client and the server support TCP Large Windows (rfc-1323). Wouldn't be
therefore a good idea, if mod_backhand had some kind of internal buffer
to actually buffer the output of the app servers ?
Thank you very much for your excellent work and for your time.
tomas.styblo [at] jet2web