[squid-users] Read Timeout

Amos Jeffries squid3 at treenet.co.nz
Sat Mar 14 05:41:44 UTC 2015


On 14/03/2015 2:34 a.m., sci wrote:
> Hi,
> 
> I search a solution for the follow "problem":
> 
> A website with a simple button (POST) needs more than 15min to send the
> information what the clients needs (a simple excel sheet).
> We don't want to change the global settings at the "Read Timeout", so I
> try to find something like a ACL for the squid.
> 
> Is it possible to at a ACL to the squid.conf like:
> 
> # rule only for the slow website
> acl slow-server dstdomain .someserver-slow.com
> read_timeout 30 minutes slow-server
> # end rule
> 

15min is not exactly a Squid limit. Its just set with a default to match
other limits in the Internet.

A read happens (and the read_timeout restarts) whenever any TCP packets
arrive. At some point between 5 and 60min (usually lower values though)
with no packets at all occuring the TCP stacks and NAT systems all along
the network path of the connections start discarding their records about
the connection.

If the server is not responding with at least one packet within a
5-60min period the connection has a growing risk of not existing
anymore. Squid default lets it hang for 15min before considering it too
risky to use anymore and releases all the resources (and there are a LOT
of resources used down the whole chain of machinery between client and
server).

Don't worry about extending the timeout globally to 30min. It will have
no effect at all on servers or traffic that responds promptly to requests.


The best thing to do though is get the server fixed (ie complain to the
people responsible for the code generating those documents). Sometimes
they can fix teh total speed, sometimes not. But either way HTTP
contains several mechanisms allowing object to be streamed to the client
as they are generated, with error recovery and data validation even.

Amos



More information about the squid-users mailing list