Development:Performance 2.x: Difference between revisions
No edit summary |
No edit summary |
||
Line 8: | Line 8: | ||
This page lists potential performance improvements that could be implemented in Moodle 2.1 or later. In general we must lower the number of queries on each page, we have to decrease the memory use and we should load less javascript code. There is not much point in benchmarking of current code because the causes of slowness are already known. | This page lists potential performance improvements that could be implemented in Moodle 2.1 or later. In general we must lower the number of queries on each page, we have to decrease the memory use and we should load less javascript code. There is not much point in benchmarking of current code because the causes of slowness are already known. | ||
Line 55: | Line 38: | ||
==Other topics== | ==Other topics== | ||
==General prerequisites== | |||
Core developers are not skilled at server configuration or production server optimisations. Large parts of Moodle 2.0 were developed on ageing computers using slow ADSL connections without any real test data. Some refactoring and API changes necessary for future performance improvements were already carried out, but in general the performance did not have high priority during the 2.0dev cycle. | |||
Developers need: | |||
* access to data sets similar to existing large production sites. | |||
* to know how are production servers configured (load balancing, db configurations, apache configurations, reverse proxing, etc.) | |||
* access to large hardware that can simulate complex server loads and both slow & fast client connection. | |||
* access to all supported browsers, operating systems and especially mobile devices. | |||
* to study available profiling tools and ways how to simulate real life workloads. | |||
Current build-in tools: | |||
* basic performance counters in page footers - we need more information and some external logging | |||
* data generator script - unmaintained, we need to improve it significantly | |||
* xhprof integration |
Revision as of 13:39, 23 April 2011
This page lists potential performance improvements that could be implemented in Moodle 2.1 or later. In general we must lower the number of queries on each page, we have to decrease the memory use and we should load less javascript code. There is not much point in benchmarking of current code because the causes of slowness are already known.
PAGE level caching and improvements
Text caching redesign
Javascript performance
Static dir caching
General caching framework
Smaller sessions
More load balancing support
New logging framework
Other topics
General prerequisites
Core developers are not skilled at server configuration or production server optimisations. Large parts of Moodle 2.0 were developed on ageing computers using slow ADSL connections without any real test data. Some refactoring and API changes necessary for future performance improvements were already carried out, but in general the performance did not have high priority during the 2.0dev cycle.
Developers need:
- access to data sets similar to existing large production sites.
- to know how are production servers configured (load balancing, db configurations, apache configurations, reverse proxing, etc.)
- access to large hardware that can simulate complex server loads and both slow & fast client connection.
- access to all supported browsers, operating systems and especially mobile devices.
- to study available profiling tools and ways how to simulate real life workloads.
Current build-in tools:
- basic performance counters in page footers - we need more information and some external logging
- data generator script - unmaintained, we need to improve it significantly
- xhprof integration