Improve performance of show action for Projects::CommitController under load into S3 tier
After very successful efforts with #232509 (closed) the show
action for the Projects::CommitController
is now performing comfortably within the severity2 tier:
* Environment: 10k
* Environment Version: 13.10.0-pre `579dc9d2908`
* Option: 60s_200rps
* Date: 2021-02-23
* Run Time: 1h 18m 57.45s (Start: 04:35:12 UTC, End: 05:54:09 UTC)
* GPT Version: v2.6.0
NAME | RPS | RPS RESULT | TTFB AVG | TTFB P90 | REQ STATUS | RESULT
---------------------------------------------------------|-------|----------------------|-----------|-----------------------|----------------|-------
web_project_commit | 20/s | 6.97/s (>3.20/s) | 2399.24ms | 7154.31ms (<12500ms) | 100.00% (>99%) | Passed
http_req_waiting.....................: avg=2399.24ms min=57.03ms med=90.96ms max=8415.29ms p(90)=7154.31ms p(95)=7541.15ms
✓ { endpoint:branches }..............: avg=89.45ms min=57.03ms med=75.11ms max=1578.81ms p(90)=102.56ms p(95)=122.99ms
✓ { endpoint:commit }................: avg=6966.44ms min=6346.29ms med=6826.11ms max=8415.29ms p(90)=7676.02ms p(95)=7843.70ms
✓ { endpoint:merge_requests.json }...: avg=114.91ms min=67.40ms med=84.28ms max=2410.41ms p(90)=104.04ms p(95)=130.12ms
These were tested on our 10k Reference Architecture with a RPS target of 20/s against a real large commit (86 changed files with 1992 additions and 135 deletions, can be seen on staging here) spread across each controller action.
As per our performance targets these controller actions are above our main target of 500ms and fall under the severity2 tier. Task is to improve each action's performance into the next tier severity3 (<2000ms).