Gerald Richter wrote:
> > > No, that's the size of the system call buffer.  It is not an
> > > application buffer.
> >
> > So how one should interpret the info at:
> > http://www.apache.org/docs/mod/mod_proxy.html#proxyreceivebuffersize
> >
> > <QUOTE>
> > The ProxyReceiveBufferSize directive specifies an explicit network buffer
> > size for outgoing HTTP and FTP connections, for increased throughput. It
> > has to be greater than 512 or set to 0 to indicate that the system's
> > default buffer size should be used.
> > </QUOTE>
> >
> > So what's the application buffer parameter? A hardcoded value?
> >
> 
> Yes, as Joshua posted today morning (at least it was morning in germany
> :-), the application buffer size is hardcoded, the size is 8192 (named
> IOBUFSIZE). You will find it in proxy_util.c:ap_proxy_send_fb().
> 
> The ProxyReceiveBufferSize set the receive buffer size of the socket, so
> it's an OS issue.

I've patched my frontend server so that there are two buffer sizes:
  ProxyReceiveBufferSize sets the socket buffer size
  ProxyInternalBufferSize sets the application buffer size

This meant renaming ap_breate() to ap_bcreate_size() and adding a size
parameter, which defaults to IOBUFSIZE if 0 is passed. Then add
  #define ap_bcreate(p,flags) ap_bcreate(p,flags,0)
and add a new ap_bcreate() which calls ap_bcreate_size() for binary
compatibility (actually I haven't added the new ap_bcreate() yet, and I never
got round to sending this to the Apache development group).

This is all necessary because some of the proxied pages on my site are large
PDF and PS files which can't be cached due to security resaons. I have the
socket buffer set to the max allowed 64K (on Solaris), with a 1M application
buffer.

In my opinion, ProxyReceiveBufferSize should be called ProxySocketBufferSize,
leaving the old name free for my new use. This would also remove some of the
confusion about what it actually does.

-- 
        Peter Haworth   [EMAIL PROTECTED]
"Save the whales. Feed the hungry. Free the mallocs."

Reply via email to