I am using MySQL and PHP with 2 application servers and 1 database server. With the increase of the number of users (around 1000 by now), I'm getting the following error :
SQLSTATE[08004] [1040] Too many connections
The parameter max_connections
is set to 1000
in my.cnf
and mysql.max_persistent
is set to -1
in php.ini
.
There are at most 1500 apache processes running at a time since the MaxClients
apache parameter is equal to 750 and we have 2 application servers.
- Should I raise the
max_connections
to 1500 as indicated here? - Or should I set
mysql.max_persistent
to 750 (we use PDO with persistent connections for performance reasons since the database server is not the same as the application servers)? - Or should I try something else?
Thanks in advance!
I think your connections aren't closing fast enough and they stack until the default time has reached. I had same problem and with wait_timeout I solved things out.
You can try to setup in my.cnf
as will terminate any existing connections after 60 seconds has passed