Performance: Improve performance of show.json action (rendered) for Projects::BlobController under load into the s3 tier

Through some excellent work the Create team have improved the Projects::BlobController#show.json controller and action substantially from around 23s down to around 2s for rendered files (files that are shown with the viewer=rich param, e.g. markdown files):

█ Results summary

* Environment:                10k
* Environment Version:        13.6.0-pre `963da2ff9c1`
* Option:                     60s_200rps
* Date:                       2020-10-22
* Run Time:                   1m 5.07s (Start: 11:19:45 UTC, End: 11:20:50 UTC)
* GPT Version:                v2.2.0

NAME                      | RPS  | RPS RESULT        | TTFB AVG  | TTFB P90             | REQ STATUS     | RESULT
--------------------------|------|-------------------|-----------|----------------------|----------------|----------------
web_project_file_rendered | 20/s | 13.49/s (>0.16/s) | 1438.41ms | 2363.03ms (<30000ms) | 100.00% (>99%) | Passed

The test was done against a "worse case" file, CHANGELOG.md, (~770kb).

As part of the new performance targets this page now falls into the ~S2 tier.

Task is to reduce the performance of this page to the next tier of ~S3 (<2000ms).

Edited Mar 03, 2021 by Daniel Gruesso
Assignee Loading
Time tracking Loading