Re: [PATCH] pconn_lifetime

From: Tsantilas Christos <chtsanti_at_users.sourceforge.net>
Date: Tue, 02 Sep 2014 10:38:53 +0300

On 09/02/2014 03:51 AM, Amos Jeffries wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 2/09/2014 4:49 a.m., Tsantilas Christos wrote:
>> Hi all,
>>
>> This patch add a new configuration option the 'pconn_lifetime' to
>> allow users set the desired maximum lifetime of a persistent
>> connection.
>>
>> When set, Squid will close a now-idle persistent connection that
>> exceeded configured lifetime instead of moving the connection into
>> the idle connection pool (or equivalent). No effect on
>> ongoing/active transactions. Connection lifetime is the time period
>> from the connection acceptance or opening time until "now".
>>
>> This limit is useful in environments with long-lived connections
>> where Squid configuration or environmental factors change during a
>> single connection lifetime. If unrestricted, some connections may
>> last for hours and even days, ignoring those changes that should
>> have affected their behavior or their existence.
>>
>> This is a Measurement Factory project
>
> Two problems with this.
>
> * the directive name does not indicate whether it applies to client,
> server, or ICAP conections.

It applies to any connection, server, client or ICAP connections.

>
> * the rationale for its need is a bit screwey.
> Any directives which affect Squid current running state need to
> ensure in their post-reconfigure logics that state is consistent.
> Preferrably create a runner, or use configDoConfigure if that is to much.

Do you mean to run over the persistent connections list and change the
timeout?

>
> To support that we need some API updates to globally access the
> currently active connection lists for servers/client/icap. But there
> are other things like stats and reporting also needing that API, so we
> should look at adding it instead of yet another "temporary" workaround.

We do not need to make any change to support ICAP and server side
connections. This is because we are storing this connections to
IdleConnList or PconnPool structures.

Currently we can not change timeout for client-side keep-alived
connections. We do not have a list with these connections available.

>
> Amos
>
Received on Tue Sep 02 2014 - 07:39:07 MDT

This archive was generated by hypermail 2.2.0 : Tue Sep 02 2014 - 12:00:11 MDT