[openstack-dev] Controlling data sent to client
Rick Jones
rick.jones2 at hp.com
Tue Mar 10 18:59:18 UTC 2015
On 03/10/2015 11:45 AM, Omkar Joshi wrote:
> Hi,
>
> I am using open stack swift server. Now say multiple clients are
> requesting 5GB object from server. The rate at which server can push
> data into server socket is much more than the rate at which client can
> read it from proxy server. Is there configuration / setting which we use
> to control / cap the pending data on server side socket? Because
> otherwise this will cause server to go out of memory.
The Linux networking stack will have a limit to the size of the
SO_SNDBUF, which will limit how much the proxy server code will be able
to shove into a given socket at one time. The Linux networking stack
may "autotune" that setting if the proxy server code itself isn't making
an explicit setsockopt(SO_SNDBUF) call. Such autotuning will be
controlled via the sysctl net.ipv4.tcp_wmem
If the proxy server code does make an explicit setsockopt(SO_SNDBUF)
call, that will be limited to no more than what is set in net.core.wmem_max.
But I am guessing you are asking about something different because
virtually every TCP/IP stack going back to the beginning has had bounded
socket buffers. Are you asking about something else? Are you asking
about the rate at which data might come from the object server(s) to the
proxy and need to be held on the proxy while it is sent-on to the clients?
rick
More information about the OpenStack-dev
mailing list