Improve performance of Merge Request List API under load into next tier
The Merge Requests list API was improved notably in #33150 (closed) from around 3.2s to 1.2s . As part of a new agreed approach for performance issues that issue is to be closed in favour of a new lower severity.
Testing today shows the API is currently showing the following performance:
* Environment: 10k
* Environment Version: 12.9.0-pre `545f4a5af48`
* Option: 60s_200rps
* Date: 2020-03-09
* Run Time: 47m 28.13s (Start: 04:28:41 UTC, End: 05:16:09 UTC)
* GPT Version: v1.2.2
NAME | RPS | RPS RESULT | TTFB AVG | TTFB P90 | REQ STATUS | RESULT
---------------------------------------------------------|-------|----------------------|-----------|----------------------|----------------|-------
api_v4_projects_merge_requests | 200/s | 182.18/s (>128.00/s) | 950.39ms | 1227.12ms (<2000ms) | 100.00% (>95%) | Passed
The test was run against the 10k Reference Architecture at the target RPS of 200/s. It's run against the gitlabhq
project which has 3,608 MRs.
As part of the latest agreed new API performance targets this endpoint is currently over our target of 500ms and falls into the ~S3 tier.
Task is to reduce the performance of this endpoint to the next tier of ~S4 (<1000ms).