Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

reportbuilder/benchmarks

From MoodleDocs
Revision as of 03:24, 10 June 2012 by Simon Coggins (talk | contribs)

To compare report performance I created a fresh install of Totara with the 2.2 version of report builder and the 2.2 version of configurable reports from:

https://github.com/nickkoeppen/moodle-block_configurablereports/commits/MOODLE_22_STABLE/

I ran the tests using MySQL with InnoDB on a Mac Book Pro.

I created a few custom user profile fields: a checkbox, menu and a text field.

I created a user report in both systems, setting pagination to 40 results per page.

  • Columns: Firstname, Lastname, username, email, text custom field, checkbox custom field, menu custom field
  • Filters: text custom field, menu custom field

I then tested both reports, first with the initial user database (2 users), then with 1,000, 10,000 and 100,000 users.

Users were created by generating an upload users file of the form:

firstname,lastname,profile_field_text,profile_field_checkbox,email,username First1, Last1, Text1, 1, email1@c.com, username1 First2, Last2, Text2, 1, email2@c.com, username2 ...

For each test, I reloaded the report until page DB reads stabilised (presumable there was some caching of the standard page elements). I tested the report unfiltered and also filtered to only show a single result.

Here are the results for Report Builder (RB) and Configurable Reports (CR):

Report DB reads RB DB reads CR Load time (s) RB Load time (s) CR
2 users 48 75 0.47 0.6
2 users filtered to 1 48 74 0.47 0.68
1000 users 48 3075 0.52 1.4
1000 users filtered to 1 48 74 0.57 0.79
10000 users 48 30075 0.51 12
10000 users filtered to 1 48 74 0.64 3.8
100000 users 48 Did not load 0.54 > 5 minutes
100000 users filtered to 1 48 Did not load 2.84 > 5 minutes