Mysql – Sleep Processes are Running Longer Than Allowed

MySQLperformancesleep

From time to time my mysql server will run into a "too many connections" error. I believe part of the problem is large amount of sleep processes that are running, some over 1000 seconds.

When looking into the issue, I saw this and investigated. I checked my timeout values with

show variables like "%timeout";

And both interactive_timeout and wait_timeout are set to 600.

How/Why would these sleep processes be running so long, if they're supposed to stop at 600?

Best Answer

There are two possibilities the come to mind:

  • the values of interactive_timeout and wait_timeout were not 600 when those threads first connected, so they are using the values that existed when they first connected, or
  • the application is changing the timeout values for its sessions after connecting.

If you're running out of available connections, though, why not just raise max_connections? If the threads are sleeping, you're not talking about a significant resource cost.