Improve performance of Groups Issues List API under load into next tier
After adding in a new performance test for the Group Issues List API it was found that endpoint is unperformant. The endpoint proceed to slip further after nightly version 14.9.0-pre - e62a8742d34
:
* Environment: 10k
* Environment Version: 14.9.0-pre `a7d81e15987`
* Option: 60s_200rps
* Date: 2022-03-11
* Run Time: 1h 23m 41.65s (Start: 04:46:08 UTC, End: 06:09:50 UTC)
* GPT Version: v2.10.0
NAME | RPS | RPS RESULT | TTFB AVG | TTFB P90 | REQ STATUS | RESULT
---------------------------------------------------------|-------|----------------------|-----------|----------------------|----------------|--------
api_v4_groups_issues | 200/s | 136.95/s (>48.00/s) | 1338.06ms | 3430.37ms (<5500ms) | 100.00% (>99%) | Passed¹
Looking at the environment metrics it appears that the endpoint is hitting the database significantly:
It should be noted this was with Database Load Balancing on so the endpoint is taxing 3 separate database servers.
Testing was done as part of our normal performance tests on the 10k Reference Architecture at 200 RPS. In our test data (based on the main GitLab project) there are numerous issues.
As per our performance targets the endpoint is above our main target of 500ms and falls under the severity2 tier. Task is to improve the endpoint's performance into the next tier severity3 (<2000ms).