-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Jamie Bliss wrote: | I think you just increased your traffic to the point that there are | more concurrent requests than MySQL connections. | | Fixing it, however, could be problematic. Here's a few ideas: | * Convince your host to allow you to use mysql_pconnect() in PHP, and | modify the code to use it (and NOT close the connection). See | http://www.php.net/manual/en/features.persistent-connections.php | before trying this.
In my experience this actually is _more_ likely to lead to too-many-connection errors, because every Apache child process will end up with a connection open even if it's not running the wiki at the moment.
If several users on a shared host use persistent connections in their scripts, you could easily end up with _several_ connections open per process. With a default MaxClients of 150 on Apache, this is going to overwhelm a MySQL max_user_connections of 100 rather easily.
Using non-persistent connections, they will close when the wiki finishes, and so keepalives, images, style sheets, and other customers' web requests on that server will not be maintaining an unused connection open.
It's entirely possible that some other customer is at fault, opening a lot of connections which clog up the server. It's also possible that something's causing 100+ wiki requests to happen at once, such as really long stuck processes while a bunch of people try to load pages over and over.
- -- brion vibber (brion @ pobox.com)