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 [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.
