I though wow did they really make it work, considering how many bottlenecks remain in MySQL.
What article really tells us ?
First the number 256 – this is not number of Cores… this is number of hardware threads which is not exactly the same thing. Each T2 Plus CPU has 8 cores, which with 8 threads each giving 64 threads per chip or 256 threads all together.
Now what is about MySQL scaling to use these 32 cores with 256 threads ? Especially with the goal of “Do it with minimal tuning i.e as close as possible as out-of-the-box” ? Do we simply start MySQL server and change couple of defaults to make it work ?
No! To get really good performance we have to setup 32! MySQL instances on this box (approximately one per core).
Comparing single instance performance (4350 statements/sec) to the total performance archived with 32 instances (79334 statements/sec) we can see the single instance gets 1/18 performance archiveable on the system which is of course extremely poor number.
The scale out and ability to scale by using as many MySQL instances as you like is a very good application architecture but unless you have everything absolutely automated in the Google way I do not think you would enjoy running 32 MySQL instances on the box for the single application just to get decent speed.
Now I should point back to my old post about T2000 Perfrormance with MySQL The Matt Ingenthron commented â€œSunâ€ is not, to my knowledge, â€œaggressively pushing T2000 as Scalable MySQL Platformsâ€. – Well what this one would be ? Of course it is not T2000 any more and the CPU performance got a bit better but as I understand single thread performance is still many time slower than one of recent Xeons which makes it really tough call for MySQL which can’t perform many operations in parallel.
Now you might got a feeling 79000 queries is a lot ? It is hard to tell without knowing what the queries are but if you just want to look at the queries – check this out – these are a year and a half old benchmarks on the single MySQL instance showing over 50.000 queries on 8 cores (and close to 40.000 queries/sec on 4 slow AMD cores).
Do not get me wrong. The multi-threading architecture Sun has is great for many applications… however it is NOT great for MySQL unless you really really do not care about single thread performance (REPLICATION, ALTER TABLE etc) and willing to run insane number of MySQL instances per server.