MySQL/Innodb scalability tests after fix

This is not freshest news ever but I simply have not yet had a time to comment on it.

I already wrote about interesting benchmarks have done for MySQL and PostgreSQL with different CPUs. I was in contact with team to see if they miss something obvious in MySQL settings as well as to let them know the fix is now out for Innodb scalability bug and they can rerun the test to see if there are any difference.

Recently published comparison of MySQL 5.0.20a vs 5.0.32bk as well as matching PostgreSQL 8.2 results

Same as in previous test PostgreSQL is winner with large margin especially when it comes to higher concurrency. The results for MySQL 5.0.20a vs 5.0.32bk are also extremely interesting:

1) For single CPU 5.0.32 is actually slower on high levels of concurrency. Might be this is overhead of increased amount of mutexes comes into the play may be something else – version gap is too large to only map it to Innodb scalability patch.

2) Speedup for 5.0.32 for large number of CPUs (2x quad line) is significant – 350 tps vs 100 tps for 5.0.20. Great job !

3) The peak performance for 5.0.32 is also much larger than for 5.0.20 – some 630 vs 540 tps.

4) The bad news are – we still have massive scalability drop with increasing concurrency – going from 10 to 20 concurrent connections drops performance from about 620 to 450 TPS which can be nasty surprise. It may be possible to improve it with innodb concurrency settings though – I do not know, this requires some extra analyzes.

As a Summary: By looking at this benchmark (it can be and will be different in other benchmarks) we can see MySQL scalability problem with high number of CPUs and high concurrency is elevated but it is far from being completely eliminated at this point.

Share this post