[PATCH 2 of 7 cubicweb] [database/pool] close connections when load is low

cortex at worlddomination.be cortex at worlddomination.be
Fri Jan 17 14:29:57 CET 2020


Le 2020-01-14 11:15, Philippe Pepiot a écrit :
> On 20/12/2019, Laurent Peuch wrote:
>> # HG changeset patch
>> # User Laurent Peuch <cortex at worlddomination.be>
>> # Date 1576829177 -3600
>> #      Fri Dec 20 09:06:17 2019 +0100
>> # Node ID 33d74a5f647e9cd48f010bf510a10527b2eabe6b
>> # Parent  5a2814328fecdc00c41514b8dd5733c8610fee81
>> # Available At https://hg.logilab.org/users/lpeuch/cubicweb
>> #              hg pull https://hg.logilab.org/users/lpeuch/cubicweb -r 
>> 33d74a5f647e
>> [database/pool] close connections when load is low
>> 
>> The logic is to close connection one by one if we didn't had to wait 
>> to grab a
>> connection and that last time we had to wait a lot was some time ago 
>> (assuming
>> then that the load is now low).
> 
> Not sure I perfectly understand the algorithm you proposed. But by
> looking at the pgbouncer code https://github.com/pgbouncer/pgbouncer ,
> seem a better algorithm could be:
> 
> Use a queue.LifoQueue() instead of default FIFO queue. So a few
> connections get the more load. I think it's better on postgresql
> side for buffers / caches that belong to the connection.
> 
> Then the end of the queue in case of low load will have increasing
> IDLE time and you can just close them when IDLE is more than X
> seconds.
> 
> What do you think ?

I'm pretty sure we can trust pgbouncer on having much more experience 
than me on that
side so that makes a lot of sens :)



More information about the cubicweb-devel mailing list