« MySQL Performance: 5.6 Notes, part 1 - Discovery... | Main | MySQL Performance: 5.6 Notes, part 3 - More in depth.. »
Monday, 11 April, 2011
MySQL Performance: 5.6 Notes, part 2 - Under full dbSTRESS workload...
This is the second part of the MySQL 5.6 Performance Notes started from here .
Now it's about performance results on a full dbSTRESS test workload scenarios..
Full Series of tests @dbSTRESS
Test scenario :
- Workload: Read-Only, Read+Update, Read+Write (Writes=Delete, Insert, Update)
- Configurations: 16, 24, 32, 48 cores
- Concurrent users: 1, 2, 4, 8.. 1024 (4min on each step, growing load)
- Think time: 0 sec
-
Points of interest:
- identify current and potential contentions
- try to reduce contentions by limiting thread concurrency via CPU taskset (binding "mysqld" process to a fixed list of cores)
Read-Only :
-
MySQL 5.5.9:
- most optimal performance on 32 cores
- max 30.000 TPS
- main contentions: btr_search_latch (yellow) and kernel_mutex (green)

-
MySQL 5.6.2:
- most optimal performance on 32 cores
- max 31.000 TPS
- main contentions: trx_sys (yellow), btr_search_latch (green)
- probably by reducing the contention on trx_sys we may obtain a more stable TPS on 32cores
- still no answer on: why the btr_serach_latch mutex still remains hot while there is no more pages loaded into the buffer pool?..

Read+Update :
-
MySQL 5.5.9:
- most optimal on 24 cores
- max 37.000 TPS
- main contentions on: kernel_mutex (rose), btr_search_latch (blue)

-
MySQL 5.6.2:
- most optimal on 32 cores
- max 40.000 TPS
- main contentions on: lock_sys (green), trx_sys (magenta)

Read+Write :
-
MySQL 5.5.9:
- most optimal on 32 cores
- max 19.000 TPS
- main contentions on: index lock, kernel_mutex

-
MySQL 5.6.2:
- most optimal on 48 cores
- max 21.000 TPS
- main contentions on: index mutex, lock_sys
- NOTE: interesting, that on all configurations except 48 cores 5.6 showing a lower performance comparing to 5.5..

SEL1 Test scenario :
- Same as the previous test, just on the READ transactions only one SELECT query is used (SEL1)
- The main interest here that the SEL1 is blocked only by the kernel_mutex contention on a high concurrency workload..
- Workload: Read-Only, Read+Update, Read+Write (Writes=Delete, Insert, Update)
- Concurrent users: 1, 2, 4, 8.. 1024
- Think time: 0 sec
SEL1-Read-Only :
-
MySQL 5.5.9:
- most optimal performance on 16 cores
- max 85.000 TPS
- main contentions: kernel_mutex (magenta)

-
MySQL 5.6.2:
- most optimal performance on 16 cores, most stable on 24 cores
- max 81.000 TPS
- main contentions: trx_sys (yellow)

SEL1+Update :
-
MySQL 5.5.9:
- most optimal performance on 24 or 32 cores
- max 57.000 TPS
- main contentions: kernel_mutex (magenta), rollback segment mutex (hm, interesting)..

-
MySQL 5.6.2:
- most optimal performance on 24 cores
- max 64.000 TPS
- main contentions: lock_sys (green)

SEL1+Write :
-
MySQL 5.5.9:
- most optimal performance on 24 or 32 cores
- max 21.000 TPS
- main contentions: index mutex (magenta) and kernel_mutex (magenta)

-
MySQL 5.6.2:
- most optimal performance on 48 cores
- max 22.000 TPS
- main contentions: index mutex, lock_sys mutex
-
NOTE: here again on all configurations except 48 cores 5.6 showing
a lower performance comparing to 5.5..
- need to be investigated...

blog comments powered by DisqusNote: if you don't see any "comment" dialog above, try to access this page with another web browser, or google for known issues on your browser and DISQUS..