Search squid archive

Re: Connection pooling backend servers

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

 



On 1/05/2013 1:40 a.m., Roy Reznik wrote:
Is there some way to maintain a connection pool to backend servers?
I tried using this:
http_port 3128 accel vhost protocol=https tcpkeepalive=60

This is the control for client-to-Squid connections. The tcpkeepalive only affects the interval between packets. HTTP messaging and flow control is on a whole different level.

When I try looking at it using tshark, I can see that for every
request an SSL handshake is made between squid and the back-end
server.

Thanks,
Roy.

In HTTP this is called persistent connections (pconn, or sometimes "keep-alive" after the header labeling).

For ideal performance you enable persistent connections to both servers and clients.
 http://master.squid-cache.org/Doc/config/server_persistent_connections/
 http://master.squid-cache.org/Doc/config/client_persistent_connections/

With a couple of caveats:
* Both ends of the connection need to support and be using the feature for this to work. * It only works on *most* transaction types. There are some such as CONNECT where the request transaction can only be completed by terminating the TCP connection itself - persistence cannot help when one of these goes through. * HTTP/1.0 clients for dynamic websites (very popular) often make use of the unknown-length response tyes which fall into the category of transactions above. So persistence with them is often not much use or not showing much gain.

Other that those caveats it works well. We have been improving the support for connection persistence across the last few versions of Squid, so the more recent version you can run the better it will work.

Amos




[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux