As we discussed in the past, MySQL is very lightweight in terms of connections creation and closure overhead, and therefore classic LAMP installations rarely use it.
However, some application frameworks such as Java and Ruby tend to use it and in these cases it is recommended to adjust some configurations in order to avoid long connections cuts.
Since MySQL default is 8 hours timeout, this pattern is usually when connection pools are configured with high number of connections (and low utilization) or when pattern usage is limited to defined hours (daytime for example).
How to Detect this Pattern?
By using MySQLTuner, you will find out that Connections Aborted parameter is too high (I've seen cases with as high as 80%).
What Should We Do?
Adjust the connections timeout, in order to avoid connection pool connections cutting:
#1 day timeout SET GLOBAL wait_timeout = 86400 SET GLOBAL interactive_timeout = 86400
or in the my.cnf
wait_timeout = 86400 interactive_timeout = 86400
Connection pools are not a native case for MySQL, but it does not mean your cannot support it wisely.