[squid-users] Squid 4 pconn_lifetime questions

Amos Jeffries squid3 at treenet.co.nz
Tue May 14 11:42:25 UTC 2019


On 14/05/19 6:25 pm, johnr wrote:
> Alex - thank you for the reply.
> 
> If in the context of this directive became idle means "done processing the
> previous request" then how is the pconn_lifetime directive different than
> the client_idle_pconn_timeout and server_idle_pconn_timeout (other than
> affecting both at the same time)?


Lifetime is essentially TCP level timeout. TCP connections which go past
it will be closed, the HTTP keep-alive / persistence mechanism will no
longer keep the connection alive. Squid should negotiate for "close" on
any pending HTTP transactions.


The *_idle_pconn_timeout directives (both server and client) manage the
maximum allowed time between completing one HTTP transaction and
starting the next. Connections which go past this timeout should be
closed as soon as doing so is possible without breaking any existing
transactions.


There is an obvious edge case for very long duration transactions. Where
Squid may negotiate keep-alive when it starts, but the lifetime limit is
reached before it completes. I believe those connections should just
close at that completion point despite the negotiated keep-alive.

Amos


More information about the squid-users mailing list