Improve performance of Merge Request List API under load to meet target
The Merge Requests list API was improved notably in #209780 (closed) from around 1.5s to 750ms :
* Environment: 10k
* Environment Version: 13.4.0-pre `0e9ed172118`
* Option: 60s_200rps
* Date: 2020-09-16
* Run Time: 1h 5m 58.7s (Start: 01:31:27 UTC, End: 02:37:26 UTC)
* GPT Version: v2.0.6
NAME | RPS | RPS RESULT | TTFB AVG | TTFB P90 | REQ STATUS | RESULT
---------------------------------------------------------|-------|----------------------|------------|-----------------------|-----------------|-------
api_v4_projects_merge_requests | 200/s | 190.68/s (>96.00/s) | 457.90ms | 749.81ms (<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 over our ultimate target of 500ms and falls into the ~S4 tier.
Task is to reduce the performance of this endpoint to our target of <500ms.