[go: up one dir, main page]

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).