Improve performance of Group's Projects List API under load into next tier
The Group's Projects List API is showing to perform over our new performance target of 500ms when there's a notable number of projects under a group.
We (Quality) have recently expanded performance test coverage to include "horizontal" test areas like Groups in a consistent way. As such we now test the API on our 10k Reference Environment against 250 groups with 10 projects each at 200 RPS:
* Environment: 10k
* Environment Version: 13.2.0-pre `744484487f2`
* Option: 60s_200rps
* Date: 2020-06-30
* Run Time: 1h 4m 21.39s (Start: 01:27:22 UTC, End: 02:31:44 UTC)
* GPT Version: v2.0.3
NAME | RPS | RPS RESULT | TTFB AVG | TTFB P90 | REQ STATUS | RESULT
---------------------------------------------------------|-------|----------------------|------------|-----------------------|-----------------|--------
api_v4_groups_projects | 200/s | 134.27/s (>32.00/s) | 1345.52ms | 1578.46ms (<4500ms) | 100.00% (>95%) | Passed
Testing has shown that the endpoint degrades notably as the number of projects in the group increase. Like the Project's API then the endpoint will likely be exponential in how it degrades.
As part of the new performance targets this endpoint is currently over our TTFB target and falls into the ~S2 tier.
Task is to reduce the performance of this endpoint to the next tier of ~S3 (<2000ms).