If the data isn't getting in and out of the database fast enough to close the connections for the concurrancy you have then you get a too many connections error.
For example - let's say you are allowed 3 connections. 4 people click, all within a second of each other. If it takes 4 seconds for the database to deliver the data back then the last person gets that error. 4 concurrent requests, 3 allowed.
The answer? optimize the data, the database server, or the data being delivered to get the data back from mysql faster.
You can optimize the tables via the admin panel.
optimizing the server, or seeing to it that it isn't overloaded, is up to your host in your case.
optimizing the data delivered, i.e. the queries is something we do for every version.
also make sure the default view is set to last 2 weeks instead of show all, that helps a LOT. less data to get faster to get it and close the connection.
Try setting post tracking from full to thread only. fewer queries that way, fewer connections made to do them.
prune messages?