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

It's VERY low performance of assign grading

    Details

    • Testing Instructions:
      Hide
      1. Create a course with 1000 students
      2. Enable enablegroupmembersonly experimental setting
      3. Use auto create groups to create 5 groups in a grouping
      4. Remove 4 of the groups from the grouping
      5. Create an assignment, with the grouping set to this new grouping and available for group members only checked.
      6. View the assignment summary and grading page.
      7. Verify they load pretty quick (< 3 secs) and only show about 1/5 of the students from the course.
      8. Edit the assignment settings. Uncheck the "available for group members only" setting
      9. View the assignment summary and grading page.
      10. Verify they load pretty quick (< 3 secs) and show all of the students from the course.
      Show
      Create a course with 1000 students Enable enablegroupmembersonly experimental setting Use auto create groups to create 5 groups in a grouping Remove 4 of the groups from the grouping Create an assignment, with the grouping set to this new grouping and available for group members only checked. View the assignment summary and grading page. Verify they load pretty quick (< 3 secs) and only show about 1/5 of the students from the course. Edit the assignment settings. Uncheck the "available for group members only" setting View the assignment summary and grading page. Verify they load pretty quick (< 3 secs) and show all of the students from the course.
    • Affected Branches:
      MOODLE_26_STABLE
    • Fixed Branches:
      MOODLE_25_STABLE, MOODLE_26_STABLE
    • Pull from Repository:
    • Pull Master Branch:
      MDL-43721-master

      Description

      If there are 600 students in a course,when a teacher open a assign grading page url(like mod/assign/view.php?id=333&action=grading),he must waiting 20 seconds at least.
      envionment:

      1.600+ students in a course.
      2. rowsperpage: 50 or 100
      3.CPU on server masterfrequency: 2.0 G

      I traced the code,it shows the most time spent is on the line 1142 ( $this->build_table() ) in /lib/tablelib.php.

      so i wonder if it is possible to move this action on the side of browser via YUI? if the server side(PHP) only read the data from DB,and passing the meta data to the client,i think it will improve performance much more.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Votes:
                  13 Vote for this issue
                  Watchers:
                  23 Start watching this issue

                  Dates

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