Improve browser Total Blocking Time (TBT) performance of View File (source) page into S2 tier
The View File (source) page's browser Total Blocking Time (TBT) performance is significantly unperformant
NAME | FCP (ms) | LCP (ms) | TBT (ms) | SI (ms) | LVC (ms) | TFR SIZE (kb) | SCORE | RESULT
--------------------------|----------|------------------|------------------|---------|----------|---------------|-------|-------
web_project_file_source | 1302 | ✓ 22650 (<47000) | ✓ 19679 (<44000) | 2557 | 22650 | 1410.8 | 72 | Passed
The View File (source) page being tested can be seen here on Staging. This page is specifically one loading in a large source file. Below is the screenshot of page's historical test results
Additionally this page's browser performance changes significantly from Google Chrome versions upgrades. Please see the latest investigation issue about it in gitlab-org/quality/performance-sitespeed#17 (closed). Also you can see the drop of metrics above from around 40s to 20s - this happened when Chrome was upgraded from v90 to v91, see gitlab-org/quality/performance-sitespeed#17 (comment 582028393) for more detailed comparison.
SiteSpeed report for this page shows that most time is being spent on Layout
event:
Also this page has been added to the main product's sitespeed dashboard and performance results are even worse there.
Test Details
Testing was done on our 10k Reference Architecture environment with our lab condition SiteSpeed pipeline (named GitLab Browser Performance Tool internally). The project being tested is a copy of gitlabhq (tarball can be found here). GitLab Browser Performance Tool tests information is listed at Current test details page.
The latest GitLab Browser Performance pipeline results can always be found here. Through this page the full SiteSpeed report can be found via the SiteSpeed Report
link on that page.
As per our performance targets this page's TBT metrics is above the target of 9000 ms which is severity1 . Task is to improve the page's browser performance into S2 tier and investigate its dependence on Google Chrome version.