Scalability issue with many projects (~2000)
Posted: 24 Feb 2009, 18:02
Hi,
we have a Mantis 1.1.6 installation at opencsw.org with lots of projects (1851 to be precise) and see some heavy performance problems. The view_all_bug_page or my_view_page take about half a minute to load, most of the times they don't even load fully because they hit the maximum execution time setting of 30 secs. Even loading the bug listing page for a single project takes several seconds. Give it a try yourself
http://opencsw.org/mantis/
Is this a known scalability issue with Mantis? Any possibility to tweak performance here?
I have replicated our setup to a lab environment and created cachegrind profiles (via xdebug), which can be downloaded from [1]. I guess someone with a hang of the Mantis internals and a Cachegrind visualizer of his choice can spot the most likely verdicts and thereby optimization possibilties. There are a couple of functions that get called (ten)thousands of times.
As an example the call profile for the view_all_bug_page ordered by call time and number of calls respectively looks like:
Ordered by call time http://skayser.de/tmp/wincachegrind-viewall-bytime.png
Ordered by call numbers http://skayser.de/tmp/wincachegrind-viewall-bycalls.png
The MantisBT bug tracker holds a bug with a similar problem description (http://www.mantisbt.org/bugs/view.php?id=9876), though we don't use subprojects. Changing the storage engine to InnoDB as the reporter recommends doesn't change the response time noticable here. MySQL in general doesn't look too bad (be welcome to prove me wrong here): Query Cache is at 32MB and takes almost all queries as hits, slow query log with a long_query_time of 1s doesn't show any entries.
Let me know in case you need additional data. I will happily provide further information.
Sebastian
[1] http://skayser.de/tmp/mantis-debugdata-01.zip
Mantis: 1.1.6
PHP: 5.2.6
SQL: MySQL 5.0.51
OS: Solaris 10 Sparc
we have a Mantis 1.1.6 installation at opencsw.org with lots of projects (1851 to be precise) and see some heavy performance problems. The view_all_bug_page or my_view_page take about half a minute to load, most of the times they don't even load fully because they hit the maximum execution time setting of 30 secs. Even loading the bug listing page for a single project takes several seconds. Give it a try yourself
http://opencsw.org/mantis/
Is this a known scalability issue with Mantis? Any possibility to tweak performance here?
I have replicated our setup to a lab environment and created cachegrind profiles (via xdebug), which can be downloaded from [1]. I guess someone with a hang of the Mantis internals and a Cachegrind visualizer of his choice can spot the most likely verdicts and thereby optimization possibilties. There are a couple of functions that get called (ten)thousands of times.
As an example the call profile for the view_all_bug_page ordered by call time and number of calls respectively looks like:
Ordered by call time http://skayser.de/tmp/wincachegrind-viewall-bytime.png
Ordered by call numbers http://skayser.de/tmp/wincachegrind-viewall-bycalls.png
The MantisBT bug tracker holds a bug with a similar problem description (http://www.mantisbt.org/bugs/view.php?id=9876), though we don't use subprojects. Changing the storage engine to InnoDB as the reporter recommends doesn't change the response time noticable here. MySQL in general doesn't look too bad (be welcome to prove me wrong here): Query Cache is at 32MB and takes almost all queries as hits, slow query log with a long_query_time of 1s doesn't show any entries.
Let me know in case you need additional data. I will happily provide further information.
Sebastian
[1] http://skayser.de/tmp/mantis-debugdata-01.zip
Mantis: 1.1.6
PHP: 5.2.6
SQL: MySQL 5.0.51
OS: Solaris 10 Sparc