Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-44366

filter_glossary has the potential to be slow on large sites

    XMLWordPrintable

    Details

    • Testing Instructions:
      Hide

      1/ execute phpunit tests
      2/ set up glossary linking (enable in glossary and entries, add categories and aliases, enable filter) and test if it works as before or better (now it should deal with groupmembersonly too)
      3/ verify that enabling of the glossary filter does not increase DB queries per page
      4/ create a number of glossaries in different courses with additional entries
      5/ verify that the number of DB queries does not increase

      Show
      1/ execute phpunit tests 2/ set up glossary linking (enable in glossary and entries, add categories and aliases, enable filter) and test if it works as before or better (now it should deal with groupmembersonly too) 3/ verify that enabling of the glossary filter does not increase DB queries per page 4/ create a number of glossaries in different courses with additional entries 5/ verify that the number of DB queries does not increase
    • Affected Branches:
      MOODLE_26_STABLE
    • Fixed Branches:
      MOODLE_27_STABLE
    • Pull from Repository:
    • Pull Master Branch:
      w16_MDL-44366_m27_filtergloss
    • Story Points:
      40
    • Sprint:
      BACKEND Sprint 12

      Description

      As a follow-on to MDL-43524 which removed global text caching, we need to examine the glossary filter and probably add MUC caching there to improve performance.

      The glossary filter is what puts links in texts to glossary entries. There is quite a lot of processing going on in the background even before the simple text replacement, and this needs to be redone every time the cache is invalidated.

      Petr has raised that the fully correct way would be to use new events or the as-yet-unwritten hooks to invalidate the caches, but I think that might be too much to do before 2.7, so I want to see a quick solution here even if it may mean relying on less-perfect cache invalidation.

      This issue requires performance comparison tests before and after the fix.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                skodak Petr Skoda
                Reporter:
                dougiamas Martin Dougiamas
                Peer reviewer:
                Marina Glancy
                Integrator:
                Dan Poltawski
                Tester:
                Adrian Greeve
                Participants:
                Component watchers:
                Matteo Scaramuccia, Amaia Anabitarte, Carlos Escobedo, Ferran Recio, Sara Arjona (@sarjona), Víctor Déniz Falcón, Adrian Greeve, Jake Dallimore, Mathew May, Mihail Geshoski, Peter Dias, Matteo Scaramuccia, Jake Dallimore, Jun Pataleta
              • Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Fix Release Date:
                  12/May/14