On 10/18/2008 10:22 PM, Graham Leggett wrote:
> Ruediger Pluem wrote:

> 
>>    Plus the default socket and TCP buffers on most OS should be already
>>    larger then this. So in order to profit from the optimization the time
>>    the client needs to consume the ProxyIOBufferSize needs to be
>> remarkable.
> 
> It makes no difference how large the TCP buffers are, the backend will
> only be released for reuse when the frontend has completely flushed and

Sorry I maybe wrong here, but I don't think this is the case. If there is
space left in the TCP buffer you write to the socket non-blocking and the
data seems to be processed for the sending process then. It does not block
until the data is sent by the OS. And even flush buckets do not seem to cause
any special processing like a blocking flush. So returning to your CNN
example I am pretty much sure that if the TCP buffer for the socket of the
client connection holds 92k plus the header overhead your connection to the
backend will be released almost instantly.
I don't even think so that a close or shutdown on the socket will block until
all data in the TCP buffer is sent. But this wouldn't matter on keepalive
connection to the client anyway since the connection isn't closed.

Regards

RĂ¼diger

Reply via email to