[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: APT do not work with Squid as a proxy because of pipelining default



Hi debianers,
I've contacted squid's upstream to help clarifying some details in this thread and am now forwarding Amos' reply:

> Thanks Luigi, you may have to relay this back to the list. I can't seem to post a reply to the thread.
> 
> 
> I looked at that Debian bug a while back when first looking at optimizing the request parsing for Squid. With the thought of increasing the Squid threshold for pipelined requests as many are suggesting.
> 
> 
> There were a few factors which have so far crushed the idea of solving it in Squid alone:
> 
> * Replies with unknown-length need to be end-of-data signalled by closing the client TCP link.
> 
> * The IIS and ISA servers behaviour on POST requests with auth or such as outlined in our bug http://bugs.squid-cache.org/show_bug.cgi?id=2176 cause the same sort of problem as above, even if the connection could otherwise be kept alive.
> 
> This hits a fundamental flaw in pipelining which Robert Collins alluded to but did not explicitly state: that closing the connection will erase any chance of getting replies to the following pipelined requests. Apt is not alone in failing to re-try unsatisfied requests via a new connection.
> 
>  Reliable pipelining in Squid requires evading the closing of connections. HTTP/1.1 and chunked encoding shows a lot of promise here but still require a lot of work to get going.
> 
> 
> As noted by David Kalnischkies in http://lists.debian.org/debian-devel/2010/05/msg00666.html the Squid currently in Debian can be configured trivially to pipeline 2 requests concurrently, plus a few more requests in the networking stack buffers which will be read in by Squid once the first pipelined request is completed.
> 
> A good solution seems to me to involve fixes on both sides. To alter the default apt configuration down to a number where the pipeline timeouts/errors are less likely to occur. As noted by people around the web 1-5 seems to work better than 10; 0 or 1 works flawlessly for most. While we work on getting Squid doing more persistent connections and faster request handling.
> 
> Amos
> Squid Proxy Project

Regards,

L

--
Luigi Gangitano -- <luigi@debian.org> -- <gangitano@lugroma3.org>
GPG: 1024D/924C0C26: 12F8 9C03 89D3 DB4A 9972  C24A F19B A618 924C 0C26


Reply to: