[squid-dev] [PATCH] pconn_lifetime

Amos Jeffries squid3 at treenet.co.nz
Fri Oct 3 18:28:09 UTC 2014


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 4/10/2014 3:56 a.m., Alex Rousskov wrote:
> On 10/03/2014 03:21 AM, Tsantilas Christos wrote:
>> But still I am not sure that we should use different parameters
>> for server and client connections....
> 
> IMO, side-specific parameters are not needed for the intended use
> cases of the pconn_lifetime feature -- long-lived connections
> getting out of sync with the environment configuration.
> 
> Please do not forget that we also have ICAP side, DNS side, etc. We
> can always add side-specific options if they become needed, but I
> hope there will be no good use cases to justify them.

We have an almost but not quite complete set of directionally specific
existing directives in this pattern below, (if we believe the docs) ...

Client connections:
* Total connection lifetime
 - client_lifetime, but only between requests
 + proposed "pconn_lifetime"

* Timeout from transaction initiation to first bytes arrival (request)
 - request_timeout

* Timeouts for a transaction specific acts
 - read_timeout, write_timeout, forward_timeout

* Timout for idle period between transactions
 - client_idle_pconn_timeout


Origin/Peer Server Connections:
* Total connection lifetime
  - none

* Timeout from transaction initiation to first bytes arrival (reply)
 - client_lifetime (undocumented, yuck)

* Timeouts for a transaction specific acts
 - read_timeout, write_timeout

* Timeout for idle period between transactions
 - server_idle_pconn_timeout


Note "pconn_lifetime" does not accurately describe the intention since
we have absolutely no idea whether a connection is "a pconn" or not
until too late in the connections lifecycle (on receiving reply headers).
 So forget the "pconn" part.


ICAP "side" OPTIONS is already controlling lifetime in the protocol.
DNS and the other UDP-based "sides" already have per-query timeouts
that apply better in UDP context.


The requests I made will give us this model for the HTTP "sides"...

Client connections:
* Total connection lifetime
 - client_lifetime (using proposed "pconn_lifetime" patch)

* Timeout from transaction initiation to first bytes arrival (request)
 - request_timeout

* Timeouts for transaction specific acts
 - action specific *_timeout

* Timout for idle period between transactions
 - client_idle_pconn_timeout


Origin/Peer Server Connections:
* Total connection lifetime
  - server_lifetime (using optional extension to pconn_lifetime patch)

* Timeout from transaction initiation to first bytes arrival (reply)
 - TODO (server_lifetime implicitly)

* Timeouts for transaction specific acts
 - action specific *_timeout

* Timeout for idle period between transactions
 - server_idle_pconn_timeout


Amos
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (MingW32)

iQEcBAEBAgAGBQJULuq5AAoJELJo5wb/XPRjhecIANgXjJISBNTwIiGkea2eRGxl
85uDoJH+7PKKt8zUaPCAlWvmB7jVdpHy677UB2TGJjBf7k73wRfEsrtIl/p136LK
ta4+IEyteXNgIjTP1QutJ3jn3kAxjaggH0wC2oWq3GngazErkdzA5T4ue65NESil
mX5KNoD/i8KuAe6+Uro86IyRlfSDtnHL51XDnuacD8xauc7CiUN7g6HaSy47CApT
oLqlRz78UqIVLGVrwA/dH2xR3a90NUQ6e3EDLoyycqmBt+vCkPAsZRXdeVVr1X4W
bPCLipYl+sj+gSzu3TwV4vxmNjS5FAbJ7/FLbIVTtPc55dM4pHDGGtP8nyAEgP0=
=OwMT
-----END PGP SIGNATURE-----


More information about the squid-dev mailing list