Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Another test was to be run against a small course, without any thread creation. 

Anchor
ramping_course
ramping_course

Expand
titleTests for smaller course which gradually grew

The next course used was BerkeleyX/CS.CS169.1x/3T2013 (783 threads, 3385 comments at the time). Unlike the loadtest with the very large course "BerkeleyX/ColWri2.2x/1T2014", the server was able to handle the requests without returning 500s. These numbers seem more reasonable. The test ran for 1 hour.

 

Name
reqs
#
fails
Avg
Min
Max
Median
req/s
95%
GETGET_comment_list17180(0.00%)45916317834100.1950
GETGET_thread1062530(0.00%)195153230218010.3270
GETGET_thread_list610090(0.00%)59515540644606.81700
PATCHPATCH_comment17190(0.00%)59320821225200.11100
PATCHPATCH_thread188319(1.00%)40316622833600.3810
POSTPOST_comment_comment13730(0.00%)96659142619000.11600
POSTPOST_comment_response41350(0.00%)92854641948600.51600
POSTPOST_thread46880(0.00%)49242441024600.4610

As the loadtest continued, the 95th and 50th percentile gradually became slower and slower. The throughput was very high compared to that of production (~100rpm for a similar call /django_comment_client.forum.views:single_thread) so the test will be rerun with less load.

After analyzing this data, it was realized that the number of posts in this course had actually altered the response times of the http requests. The course had increased about 2-3 times. In a week, about 20,000 threads, 20,000 responses, and 10,000 comments are created in ALL COURSES. In this 1 hour test, we have created a fifth of that value against a single course. Take note that the following tests were against the same course, but with the new increased post count.

 

The test below was against the same course but at half the throughput. As shown on the graph, the response times were slower. This test ran for 30 minutes. Again, we see that the response times increases slowly as the RPMs decreases appropriately.

Namereqs#failsAvgMinMaxMedianreq/s95%
GETGET_comment_list3060(0.00%)51717912274900.1910
GETGET_thread196020(0.00%)19815024031804.2320
GETGET_thread_list111501(0.01%)91515640267703.81900
PATCHPATCH_comment3060(0.00%)768423200769001200
PATCHPATCH_thread3702(0.54%)50825320434800890
POSTPOST_comment_comment2680(0.00%)1139775255611000.11500
POSTPOST_comment_response7350(0.00%)1108715257310000.11500
POSTPOST_thread8330(0.00%)47841619254500600

 



...