Performance



REST End-point Performance

The following table provides guidance on the number of concurrent requests each REST end-point can handle as well as the expected response time under that load. This is rough guidance and not exact data; it is based upon experimentation and will be updated from time to time.

  End-point Concurrent Users Response time
GET /services < 130 < 500ms
GET /forms < 150 < 500ms
GET /institutions = 1 < 1200ms
GET /surveys < 20 < 500ms
GET /reports < 115 < 500ms
GET /report/:reportID < 140 < 500ms
GET /survey/:surveyID < 130 < 500ms
GET /report/:reportID/model < 10 < 500ms
GET /report/:reportID/model/:questionID < 150 < 500ms
GET /forms/:formID/questions < 140 < 500ms
POST /services/survey = 1 (up to 135) < 1500ms (10s at 135)

Report Data Calculation/Generation Performance

When a survey is submitted (POST /services/survey), a report calculation and generation process is started. The amount of time this takes is variable (based upon server load). Expect this to take about 10-30 seconds before report data is available. Therefore, we suggest waiting 30 seconds after the POST /services/survey before attempting to get the report data (GET /reports, GET /report/:reportID, GET /report/:reportID/model).