Os problemas que vejo ...
1.) O Mysql usa muita memória para centenas / milhares de conexões por design ..
Basically you need to set up the confiuguration to help minimise memory usage
I dont think this is a memory problem
With a database of 200Mb, and 32Gb installed you should not be hitting your maximum memory
You only have 250 users and are maxing out CPU
2.) Mysql por design, dá uma conexão / thread para um núcleo (isso pode ser compartilhado)
This obviously can be shared with many threads but 1 thread cant breach a core.
The problem you are seeing is too many "SLOW/HEAVY" queries, whereby maximizing each core..
Therefore you cant take more users, as the CPU is at its limit..
- Start profiling your queries
- Index Correctly for Reads
- If needed use a write master and a read slave
Algumas perguntas
What is your ratio READS / WRITES???
Have you tried Slow_query logging ( set it to 1 second )?
Have you used "explain" on queries to see if indexing is working?
Have you considered a job queue for writes?
Are you using the mysql cache effectively for reads?
Realisticamente, seu problema é consultas / inserções ruins.
Se você puder resolver este problema, podemos ajudá-lo com sua configuração para minimizar o uso da memória.
A configuração basicamente não oferece muito para ajudar com o uso da CPU, isto é com você com o seu código!
Espero que isso esteja claro: D