Re: SQUID I/O

From: Alex Rousskov <rousskov@dont-contact.us>
Date: Thu, 4 Dec 1997 18:01:25 -0600 (CST)

On Fri, 5 Dec 1997, Henrik Nordstrom wrote:

> Alex Rousskov wrote:
> > Squid does not flush the buffer. It's the socket code
> > that does that after a certain (very small) delay.
>
> Squid disables the delays on systems where it is supported using
> TCP_NODELAY (see
> <http://www.ibrado.com/sock-faq/html/unix-socket-faq-2.html#ss2.16>)
> It can be argued whether this is a good idea or not.. but it is done.

Right! However, looks like it is not supported on "many" systems.
Otherwise, we would not see such a dependency on that buffer in real life
measurements.

BTW, is it possible that TCP_NODELAY is #defined but is silently ignored
when used with setsockopt? Any statistics on what OS support TCP_NODELAY?
 
> How good/bad it is depends on how Squid is used.. and it is never much
> worse that the WWW server sending the data.

Agree if you are talking about _misses_. For hits, we do not depend on the
primary Web server. Moreover, looks like the data for hits is available
faster than the Nagle algorithm flushes the buffer. Thus, (and according
to the profiling results), it makes a lot of sense to have that buffer at
least for _hits_.

Yet another example that different classes of requests should be analyzed
(and maybe optimized) separately...

Alex.
Received on Thu Dec 04 1997 - 16:11:54 MST

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:37:51 MST