[squid-users] tcp_recv_bufsize and performance

From: Dave Raven <dave@dont-contact.us>
Date: Wed, 3 Oct 2007 20:15:57 +0200

Hi all,
        I've been doing some high performance testing with squid (2.6) and
if you use enough hardware the problem shifts to being with network
connections (for me at least). Above around 300 RPS on a unit with latency
on both sides and many clients you start to chew up network buffers (on
BSD). The maximum value for mbuf clusters is around 32k and by reducing a
lot of the timeouts and flushing connections faster you can directly affect
the amount of mbuf clusters being used (it would appear).

Without those changes, the cache hits the 32k mbuf cluster limit pretty
quickly, netstat -na has about 10,000 lines in it of TIME_WAIT, ESTABLISHED
etc.

My question is actually to do with tcp_recv_bufsize - can this cause network
buffer overuse - if no value is specified it uses the maximum the OS
allowed, but the example if 500bytes, which is significantly less than my
maximum receive buffer of 65535.

What effect on performance does tcp_recv_bufsize have - whats a reasonable
value, will it help to use less mbufs and will a smaller value degrade
performance?

Or are there other tunables that would do a better job of reducing it?

Thanks for the help
D
Received on Wed Oct 03 2007 - 12:16:28 MDT

This archive was generated by hypermail pre-2.1.9 : Thu Nov 01 2007 - 13:00:00 MDT