Improve performance of Repository File Blame API under load into next tier
The Repository File Blame API has been found to perform notably badly and well over our new performance target of 500ms.
This was actually highlighted initially by a competitor that led us (Quality) to review our testing in this area and add in tests to cover this area. For the API Endpoint the results are as follows:
* Environment: 10k
* Environment Version: 15.9.0-pre `696d67eeb8f`
* Option: 60s_200rps
* Date: 2023-02-03
* Run Time: 1h 38m 11.69s (Start: 04:53:54 UTC, End: 06:32:05 UTC)
* GPT Version: v2.12.2
NAME | RPS | RPS RESULT | TTFB AVG | TTFB P90 | REQ STATUS | RESULT
---------------------------------------------------------|-------|----------------------|-----------|-----------------------|----------------|--------
api_v4_projects_repository_files_file_blame | 200/s | 37.03/s (>1.60/s) | 4890.55ms | 6775.76ms (<35000ms) | 100.00% (>15%) | Passed¹
Metrics:
This has been a long standing issue as Blame is notably unperformant on Git's end. There's been some good adjustments on the web side with pagination that alleviates this greatly to most end users but this issue does still cover the use case where they may use the API in an automative fashion.
This strictly is a severity2 issue as per our targets but we'll leave this as a severity3 to reflect the more unique status of this issue.