Performance issue with Quizzes

Thanks for the ping. :slight_smile:

Some quick initial thoughts:

  • Having trace data from a product like New Relic or Honeycomb is really helpful for diagnosing these issues. If you have any traces from that and can post them, please do so.
  • There’s a prior thread on courseware performance that that you might find useful.

One of the things that affected the courseware experience prior to the Courseware MFE (available, but not the default in Lilac), is that rendering a sequence would slow down in proportion to the number of things in the total sequence, and not just the number of things visible for a given unit. If you find that individual Units load much more quickly than the courseware as a whole, a switchover to the new courseware MFE might help. You can test that by going to a URL like:

    /xblock/block-v1:org+course+run+type@vertical+block@{big hex str}

That may be compounded by codejail, which is an expensive sandboxed process that executes instructor code for certain ProblemBlocks.

Then again, it could also be that something that’s supposed to be cached is not persisting, necessitating constant recalculation. This can happen when your cache is misconfigured, or if your course is so large that the cached artifact exceeds the 1 MB default limit for memcached (causing set calls to silently fail). There are a lot of possibilities though, and it’s difficult to guess without more detailed profiling information.

My team is currently working on stories to speed up the courseware browsing experience, but those improvements wouldn’t be in a named release until Maple, it would require using the new Courseware MFE experience, and without profiling data I’m not sure it would help your exact issue.

If you’re looking for short term mitigation, you might want to try to divide your quiz into smaller ones. Focus on both reducing the total number of items in a sequence as well as the number of ProblemBlocks in any given Unit. You can reconfigure the grading policy so that it still weighs the content of the combined quizzes to have the same effect on their overall course grade.

Good luck.