Skip to content

Core performance tests improvements (2025 edition) #1735

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
4 of 8 tasks
swissspidy opened this issue Dec 12, 2024 · 7 comments
Open
4 of 8 tasks

Core performance tests improvements (2025 edition) #1735

swissspidy opened this issue Dec 12, 2024 · 7 comments
Labels
[Issue] Overview Provides an overview of a specific project

Comments

@swissspidy
Copy link
Member

swissspidy commented Dec 12, 2024

We talked about potential improvements to the core performance test suite in the past, but haven't worked on it much so far.

After we saw some slight performance regressions after 6.7 not only in lab data but also in the field, now is a good time to at least work on some quick wins.

Note

This is split out from #1093, which is a larger ticket with long discussions about multiple aspects of performance testing.

Q1:

  • Update baseline in tests to 6.7
  • Test TT5 theme
  • Contribute improvements to the codevitals repo to make it less overwhelming when there are more stats (e.g. a checkbox to hide/show certain fields)
  • Test single post URLs as well.

Q2:

Q3:

  • Improve dummy content to be more realistic and document it

Stretch goals:

  • Build some alerting if nothing gets reported or if there is a drastic change in metrics
@swissspidy swissspidy added the [Issue] Overview Provides an overview of a specific project label Dec 12, 2024
@github-project-automation github-project-automation bot moved this to Not Started/Backlog 📆 in WP Performance 2025 Dec 12, 2024
@joemcgill
Copy link
Member

Test TT5 theme

There is https://core.trac.wordpress.org/ticket/62148 open to track this, along with this PR that needs to be reviewed.

@felixarntz
Copy link
Member

Thanks @swissspidy for the great summary!

A few additional thoughts:

  • Ideas for enhancing the Code Vitals dashboard UI to make it easier to overview and use:
    • Select <=4 key metrics to highlight, with all other ones being shown in a less prominent way (e.g. "advanced" UI, or simply in a different place, or smaller). There are way too many metrics right now all presented equally, but some of them are far less important than others.
      • My first intuition would be to highlight "LCP - TTFB" (client-side performance) and either "TTFB" or "Server-Timing total" (server-side performance).
      • Both of these metrics could be highlighted for the most recent block theme and the most recent classic theme, which would give us a total of 4 key metrics.
    • Instead of the "block theme" and "classic theme" labeling, use the actual theme names (or slugs).
      • Related: Consider defining a "policy" on which themes get included, e.g. the 3 most recent default block themes and default classic themes (the latter would probably forever be 2021, 2020, and 2019).
    • Separate metrics for different "products" (e.g. the different themes) in different tabs.
  • I think we should remove the point about the TTFB regression, as that's an actual performance issue possibly related to 6.7 - I think that would be best in its own issue decoupled from this, as it has nothing to do really with improving the metric collection and dashboard.

@swissspidy
Copy link
Member Author

Instead of the "block theme" and "classic theme" labeling, use the actual theme names (or slugs)

As discussed, we can do this while preserving "backward compatibility" with the data, i.e. we can keep the existing home-classic-theme and home-block-theme tests for the current themes we're testing, and then use the actual theme slugs for the new ones.

@swissspidy
Copy link
Member Author

Improve dummy content to be more realistic and document it

The homepages are currently suboptimal with the theme unit test data. Either it's a full list of the 10 latest posts (which is gigantic) or it's the "Front page" page, which just contains 1 paragraph and nothing else.

Test single post URLs as well.

In the theme unit test data there is a "Block: Image" post with multiple images in them that I think is a reasonable start:

Image

@felixarntz
Copy link
Member

@swissspidy

Test single post URLs as well.

In the theme unit test data there is a "Block: Image" post with multiple images in them that I think is a reasonable start:

Agreed. Though I'd love for this post to also get a featured image, as that makes a big impact on performance for single post URLs in most themes - or alternatively, use that post but with the image as the very first block. Currently, I think the image is too far down the page to be in the initial viewport for most mobile devices.

@swissspidy
Copy link
Member Author

Currently, I think the image is too far down the page to be in the initial viewport for most mobile devices.

FWIW we don't actually test mobile at all. All tests run using Desktop Chrome with a 1280x720 viewport. (Though there the image is not in the initial viewport either)

@swissspidy swissspidy changed the title Core performance tests improvements (quick wins) Core performance tests improvements (2025 edition) Apr 7, 2025
@swissspidy swissspidy moved this from Not Started/Backlog 📆 to Definition ✏️ in WP Performance 2025 Apr 7, 2025
@swissspidy swissspidy marked this as a duplicate of #1093 Apr 7, 2025
@swissspidy
Copy link
Member Author

I updated the issue description to include the main goals for this year.

Network emulation is something that has just come up recently (cc @westonruter), so I opened WordPress/gutenberg#69865 with the goal of adding this to the core performance tests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Issue] Overview Provides an overview of a specific project
Projects
Status: Definition ✏️
Development

No branches or pull requests

3 participants