Subsection Gating Load Testing

Subsection Gating Load Testing

The Subsection Gating feature adds additional relational database queries to retrieve milestones data during the page rendering cycle in both LMS and Studio. The purpose of this load testing is the verify that these additional queries do not significantly impact the performance of LMS page rendering under load.

Activation of the feature is controlled by an advanced setting on the course, "Enable Subsection Gating". Load tests were run under three separate conditions:

  1. Master branch of edx-platform

  2. Subsection gating branch of edx-platform with gating disabled

  3. Subsection gating branch of edx-platform with gating enabled

Each condition was tested with a simulated average production load and a simulated 1.5x peak production load. Testing was performed in the matasano environment with 3 app server instances. Assuming that average load is ~16k rpm in production and the production environment employs 16 app server, each app server should handle ~1000 rpm under average load. 1.5x peak production load is assumed to be ~35 rpm, thus in the testing environment the 1.5x tests generated ~6600 rpm.

Average Production Load

2 slaves
Number of users to simulate: 600
Hatch rate: 10
~3k rpm

Condition

Name

50%

66%

75%

80%

90%

95%

98%

99%

100%

Master

GET courseware:index

670

910

980

1000

1100

1100

1200

1300

2090

Subsection Gating Disabled

GET courseware:index

650

890

960

990

1100

1100

1200

1200

2603

Subsection Gating Enabled

GET courseware:index

670

930

1000

1000

1100

1200

1200

1300

3041

1.5x Peak Production Load

2 slaves
Number of users to simulate: 1250
Hatch rate: 10
~6.6k rpm

Condition

Name

50%

66%

75%

80%

90%

95%

98%

99%

100%

Master

GET courseware:index

890

1100

1200

1300

1700

1900

2200

2400

7995

Subsection Gating Disabled

GET courseware:index

720

970

1100

1100

1300

1400

1600

1700

7634

Subsection Gating Enabled

GET courseware:index

730

990

1100

1100

1300

1500

1600

1700

7735

Comments