Discussion API Results
Performance Improvements:
~2,000,000 invalid items in mongo were created during a migration during Sept. 2013. There are plans to remove these entries during the mongo upgrade.
https://openedx.atlassian.net/browse/OPS-1062
Forums testing was very difficult due to the unpredictability of the forums. The noise in the forums made it very hard to pinpoint individual parameters. It was discovered that in the default view in the browser and app, the index for "last_activity_at" or "date" filter was found to be missing in the loadtest environment and read replica. After adding this index on the loadtest environment, forums requests seemed to be more stable as we saw less spikes and less timeouts and response times seemed to improve across all courses. In addition to this index, there are other indexes that we may need to support such as "unread", "unanswered" and "asc". Hopefully, we will see the same effect on production when applied.
https://openedx.atlassian.net/browse/DEVOPS-3123
https://openedx.atlassian.net/browse/MA-1504
Concerns:
It was found that thread retrieval depended on the number of comments in a thread. The more comments there are in a thread, the longer the response time. This may be an issue because of the potential usage patterns leaning towards more requests to comment heavy threads. Raw data here.
https://openedx.atlassian.net/browse/MA-1503
Notes:
Browser vs. Discussion API overhead: this was a criteria that we could not obtain accurate information from these tests since the behaviour of the discussion forums changed significantly after adding the indexes. Other factors included being unable to produce normal non discussion forums load and a different mongo configuration. In general, after the performance improvements, the discussion API performance seems to be better than that of the browser in terms of response time and stability.