Created: 2009-02-17
Last modified: 2009-04-18




MySQL Performance: Perf Version (zero build)






by Dimitri


SSC Team, 2009
Sun Microsystems Inc.





Ces informations sont données à titre indicatif et n'engagent pas Sun Microsystems.

Table of contents



Benchmark Information
Customer Name(s): SSC

NDA: no

Contact Information:

Dates: Feb.2009

Keywords: MySQL, MySQL PerfVersion, InnoDB, Percona, XtraDB, db_STRESS


Hardware Configuration
Server(s):

Storage:


Software Configuration
System:

Application(s):


Abstract
Overview: Recently Sun/MySQL Perf Project announced a probe release of the very first MySQL Perf version code. New features are experimental, but looked promising and solving performance problems slightly differently comparing to others... So, I absolutely wanted to try it and see how well it'll keep a db_STRESS workload comparing to default InnoDB plugin, as well previously tested XtraDB engine.

Goal(s):

Result(s): - see SUMMARY :-)

Preparation
db_STRESS test scenarios will be still the same (for details get a look at http://dimitrik.free.fr/db_STRESS_BMK_2008.html#note_5220 )

However redo logs will be placed on the separated LUN of the storage box (as it was done on the final configuration of XtraDB testing (see: http://dimitrik.free.fr/db_STRESS_BMK_XtraDB_Percona_2009.html )


Probe Test
From the first probe test the result on the read-only workload is absolutely exciting! - Perf version is easily outpassing InnoDB plugin as well XtraDB by 50% !!

On the same time more investigation seems to me will be needed on the read+write load...


Investigating on Read+Write performance...
Analyzing more in details probe read+write tests, I was surprised to see better result within a "cold" run comparing to the "warm" one (means with cold and worm InnoDB cache)...

Until now, to avoid any I/O and other external "secondary effects" in comparing test results, I've executed all tests in the following order:

As usually "warm" tests presented better results, I always used only them to compare engines... But in this case "cold" is outperformed "warm", how?...


New Performance Test
To reach a common "Compatible Base" for all tested InnoDB variations there are at least 2 straight forward solutions:

Increase execution time of each read+write test:

Vary size of buffer pool:

Let's test?..

Buffer Pool = 12G
All tests are running with a big enough number of free buffers.
Perf version is outperforming all other candidates!

Buffer Pool = 6G
All tests are running with buffere pool out of free buffers (except read-only workload, so no need to present again)

Free Buffers Impact
Analyzing more and more in depth I may summarize now my observations on free buffer impact:

InnoDB Concurrency Management
Due high number of locks, having a concurrency limit within InnoDB is a good thing (see: http://dimitrik.free.fr/db_STRESS_BMK_2008.html#note_5231 )

On the same time all InnoDB concurrency implementations are only taking care about "internal contentions" and forgetting about "external" factors:

Probably I need to give here more details about performance "jumps" :-)

Let's take an example:

What do you think?..


Test 1600 Users
1600 users test is more likely a "weakness test":

Well, there is still a room for improvement! and let's take it as a challenge :-)


All Test Details
Here you may find more detailed information about all previously described tests.

Some notes:



SUMMARY
Results:

Positive:

Negative:

Need to investigate: