Creo que ya has comenzado a darte cuenta que administrar un servidor (correctamente) es un tema bastante amplio y a veces no tan fácil de llevar. :)
Puedo darte dos consejos:
1. Por una parte, puedes limitar el uso de MySQL limitando el número máximo de conexiones, bien sea de manera global o por usuario. Para saber si es por allí el asunto, puedes empezar por consultar el número máximo de conexiones al servidor MySQL. En este tema hablo de ello:
http://www.forosdelweb.com/f19/problema-con-conexiones-sql-446192/
Para limitar las conexiones de manera global:
max_connections = XXX
Y para limitar por usuario:
max_connections_per_user = XXX
Y en general podrías intentar optimizar varias de las variables de MySQL, dependiendo de la cantidad de RAM que tengas en el servidor, los patrones de uso de MySQL en el servidor, etc. Y también dependiendo de las políticas de uso que tú mismo establezcas. Eso también viene junto con la responsabilidad de tener y administrar un servidor.
2. Y por otra parte, si un cliente está usando casi todos (o todos) los recursos del servidor, así fuera por cortos períodos de tiempo, considero que lo más adecuado es que lo pongas en su propio servidor dedicado, pero claro, esta es una apreciación personal.
Saludos.