AnsweredAssumed Answered

Increaseing TPS for Canvas API requests

Question asked by Thilina Kurukulasooriya on Apr 2, 2018
Latest reply on Apr 4, 2018 by James Jones

Hello Canvas Developers,

 

We have conducted a performance test with syncing grades to canvas (we are using a self-hosted canvas instance image in AWS). Our goal was to determine the infrastructure and TPS required on our system to sync expected grades within the expected time duration. After completing this task we have some clarifications and really appreciate all of your feedback for these,

  • To make sure that we are not abusing Canvas as a system, we do throttle before canvas does. Currently in production, we have set the TPS to 40 (This TPS is for all the users/instructors in our system) and while doing the performance test in self-hosted canvas instance we observed that this should be increased at least to 64 while retaining the same number of concurrent API requests. How do we confirm that setting the same in production will not create any issues at "instructure.com"?
  • Currently in production we do make maximum of 16 concurrent API requests (Assignment Create/Update and Grade submission for all users in the system). In order to cater our performance requirement, we would need to increase this by 3 times (i.e. the maximum of 48 concurrent API requests). How should we confirm that this would not be an issue at "instructure.com"?

 

References we followed,

http://canvas.instructure.com/doc/api/file.throttling.html
https://community.canvaslms.com/docs/DOC-8381-api-rate-limiting

Outcomes