« dbSTRESS Benchmark kit updated! | Main | So, Why finally PostgreSQL is slower on db_STRESS Benchmark comparing to MySQL ?... »

Tuesday, 12 May, 2009

MySQL Performance: MySQL 5.4, XtraDB-5 and others @dbSTRESS Benchmark

Here are my new db_STRESS results obtained on the latest Sun M5000 server (SPARC64-VII 8CPU quad-core / bi-thread 2400Mhz). I was very curious to retest the "official" MySQL 5.4 on this machine as well other versions and InnoDB engines. But on the same time the new XtraDB version 5 was announced. As well Google shipped their v3 patch. How to resist? :-) (I'll try to be short :-))

MySQL 5.0 & 5.1

There is no more performance gap between 5.0 and 5.1 as I observed before , both versions are having near the same performance and both are way slower comparing to others :-) So, honestly, if you have any performance problem - why do not migrate to 5.4, XtraDB, or at least the latest InnoDB plugin?..

XtraDB Performance Improvements

I was very pleasantly surprised by performance improvements done in XtraDB-5! It's more performant comparing to the XtraDB-3, and absolutely free of freezes observed with XtraDB-4 on my tests. And it outperforms InnoDB plugin as well. Great work!

I've tested them all, and also executed a special run with Adaptive Checkpoint disabled - after Vadim' post I wanted to be sure I did not test XtraDB in bad conditions (from what I saw until now Adaptive Checkpoint always gave me the best result). Result of this test is labeled "XtraDB-5-AdpOFF", and as you may see it's better to keep Adaptive Checkpoint enabled :-) Also, in the middle of my tests Percona uploaded the new XtraDB code update, I've labeled it "XtraDB-5.1" to differentiate it from the previous one :-)

The only question I don't have an answer: why on changing innodb thread concurrency from 0 to 16 there is a so huge performance drop from 17.500 TPS to 12.000 TPS.. (there was no drop with XtraDB-3 before and now)

Google v3 patch

Even if it was very interesting to port Google v3 patched MySQL to Solaris, I was not sure at all about the final build :-) And as by several signs I supposed it doesn't work as it should - I did not publish here any results with this code. However from the full report you may follow my steps and probably correct and advice me if I'm doing something wrong...

Some of my Final Results

I'm presenting only some of my final results here, but all other results and more details you may find in the full report . The winner is still MySQL 5.4 here. But from the full report you may find a single case when XtraDB is outpassed all others :-)

Few graphs about scalability

There is a very small performance gain when moving from 8 to 16 cores: only 25% on Read-Only workload, and near nothing on Read+Write. But as I said before the progress is huge because there is no more performance regression either! :-) So for me the current goal in MySQL code improvement should be to obtain at least 75% performance gain between 8 and 16 cores, not agree? ;-))

The complete full report is here: http://dimitrik.free.fr/db_STRESS_MySQL_540_and_others_May2009.html

Any comments are welcome! :-)

Posted by Dimitri at 9:55
Categories: MySQL, Solaris, Tools/ dbSTRESS