Improve performance of Repository Tags API under load into S3 tier
NOTE: currently blocked by gitaly#3592 (closed)
After adding in a new performance test for the Repository Tags API it was found that endpoint is unperformant:
█ Results summary
* Environment: 10k
* Environment Version: 13.8.0-pre `41feec7b142`
* Option: 60s_200rps
* Date: 2021-01-22
* Run Time: 1m 5.35s (Start: 10:50:23 UTC, End: 10:51:28 UTC)
* GPT Version: v2.5.0
NAME | RPS | RPS RESULT | TTFB AVG | TTFB P90 | REQ STATUS | RESULT
--------------------------------|-------|---------------------|----------|---------------------|----------------|----------------
api_v4_projects_repository_tags | 200/s | 182.98/s (>80.00/s) | 913.92ms | 1466.76ms (<2500ms) | 100.00% (>99%) | Passed
Looking at the environment metrics it appears that the bottleneck is Gitaly, which is getting hard by this endpoint:
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 tags.
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).
Edited by Daniel Gruesso