Hi there!

It's my first time on this list.  Don't be shy to tell me if this isn't the 
right channel to discuss this :-)

When looking at MySQL metrics on our production deployment of MySQL, I 
noticed a hammer effect in the number of new connections to MySQL.  In 
short, when there is a sudden burst of new connections, this burst repeats 
itself every 8 minutes for quite some time until randomized access patterns 
smooth it out.  I could correlate impacts on latency of MySQL queries in 
our application to these bursts in reconnections.

I tracked this down to our use of the pool_recycle setting, which was set 
to 8 minutes.  I built a small executable example and posted it on GitHub 
to showcase the 
behaviour: https://github.com/AndreLouisCaron/sqlalchemy-pool-recycle

I'm really curious to know why the QueuePool chooses to track time elapsed 
since the connection was opened rather than the time elapsed since the 
connection was last used since the latter seems more natural to me.

Was this design of the pool_recycle deliberate?  If so, what was the 
rationale?

Thanks,

André

-- 
SQLAlchemy - 
The Python SQL Toolkit and Object Relational Mapper

http://www.sqlalchemy.org/

To post example code, please provide an MCVE: Minimal, Complete, and Verifiable 
Example.  See  http://stackoverflow.com/help/mcve for a full description.
--- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to