Paul Richards
2014-09-03 21:54:23 UTC
This is following up from a previous mailing list discussion [see below (A)] regarding changing to innodb.
I've submitted a PR to convert tables to innodb as a DB step. Note: I've *not* included any change at the moment to not install with innodb in the first place (although that would be obvious step)
Rationale for looking at this is:
a) I believe innodb is deemed to be more reliable for error recovery
b) gap between myisam/innodb for performance has closed
c) mysql seem to have moved to innodb by default rather than myisam
Test database for this has ~12,000 bugs, ~150,000 bug history records and ~20,000 users
Accessing Summary Page [5 concurrent users]
MYISAM
INNODB
~18.9 requests / min
46.7KB/sec throughput
~51.5 requests/min
132KB/s throughput
Obviously, need to do some more performance benchmarking then just one page, and test against different load types â I donât think I was expecting innodb to appear on the surface to respond twice as fast, so Iâve put an early version of innodb conversion script up in the hope someone else might do some performance testingâŠ
Link to github PR so we can have a discussion on conversion process is at https://github.com/mantisbt/mantisbt/pull/290. Iâll close this pull request 6th September @ 9am UTC and create a final patch that deals with db installation etc for review, depending on results of performance testing.
Paul
The danger with leaving this empty is that we get inconsistent results on different installations, depending on what the user's defaults are
-> support nightmare.
I've submitted a PR to convert tables to innodb as a DB step. Note: I've *not* included any change at the moment to not install with innodb in the first place (although that would be obvious step)
Rationale for looking at this is:
a) I believe innodb is deemed to be more reliable for error recovery
b) gap between myisam/innodb for performance has closed
c) mysql seem to have moved to innodb by default rather than myisam
Test database for this has ~12,000 bugs, ~150,000 bug history records and ~20,000 users
Accessing Summary Page [5 concurrent users]
MYISAM
INNODB
~18.9 requests / min
46.7KB/sec throughput
~51.5 requests/min
132KB/s throughput
Obviously, need to do some more performance benchmarking then just one page, and test against different load types â I donât think I was expecting innodb to appear on the surface to respond twice as fast, so Iâve put an early version of innodb conversion script up in the hope someone else might do some performance testingâŠ
Link to github PR so we can have a discussion on conversion process is at https://github.com/mantisbt/mantisbt/pull/290. Iâll close this pull request 6th September @ 9am UTC and create a final patch that deals with db installation etc for review, depending on results of performance testing.
Paul
One thing I've come to realise this week whilst looking at DB bits -
we currently force myisam as table format. Mysql changed default from
myisam to innodb in 5.5
In fact, I just browsed the release notes for the development 5.7
mysql version, and myisam is barely mentioned. (one of only references
I could find was "The MySQL test suite mysql-test-run.sh program now
starts the server with InnoDB rather than MyISAM as the default
storage engine.")
At the moment, we force the table format to myisam, should we be dropping this, and letting mysql pick [which probably makes the default innodb], or changing to innodb ?
I would say that InnoDB is definitely preferable, so let's make it the default.we currently force myisam as table format. Mysql changed default from
myisam to innodb in 5.5
In fact, I just browsed the release notes for the development 5.7
mysql version, and myisam is barely mentioned. (one of only references
I could find was "The MySQL test suite mysql-test-run.sh program now
starts the server with InnoDB rather than MyISAM as the default
storage engine.")
At the moment, we force the table format to myisam, should we be dropping this, and letting mysql pick [which probably makes the default innodb], or changing to innodb ?
The danger with leaving this empty is that we get inconsistent results on different installations, depending on what the user's defaults are
-> support nightmare.