Problem/Motivation

Let's add some performance tests.

Steps to reproduce

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

Issue fork byte-3554115

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

catch created an issue. See original summary.

catch’s picture

Status: Active » Needs work
Related issues: +#3553271: [meta] Drupal CMS 2.0 performance issues
catch’s picture

I am getting chromedriver timeouts trying to run the test locally, I think it may be because install takes so long, which would be fixed by #3498026: RecipeRunner::processInstall() should allow for installing multiple modules at once.

However Gitlab CI is able to run the test so I very slowly fixed things via repeated gitlab CI failures.

As you can see from the MR, there is a lot of CSS, JavaScript, cache lookups and database queries compared to the CMS 1.2 tests.

I've documented some of the front end page weight issues in #3553271: [meta] Drupal CMS 2.0 performance issues and will also try to do some quick profiling locally to see what the backend issues are - I saw duplicate media entity loading queries (2 x a lot) when reviewing query assertions which is a bit odd.

Also going to add a test that visits multiple pages to check asset aggregation duplication/divergence.

catch’s picture

Status: Needs work » Needs review

New test passes. Should be OK to commit this, and then adjust the assertions when things change (hopefully for the better).

General note it would be worth adding _PHPUNIT_CONCURRENT: 1 to the gitlabci.yml so that tests run with run-tests.sh in parallel instead of with phpunit sequentially.

phenaproxima made their first commit to this issue’s fork.

catch’s picture

#3554413: Exclude main.min.css from preprocessing and minification should improve especially the last test added here, however it will need a new Mercury release before the change is visible (looks like pipelines are against tagged versions of the dependencies).

catch’s picture

Rebased this and updated the tests. Everything is going in the right direction which is a good sign. Would be great to get this one merged so we can track progress directly in the code base.

phenaproxima’s picture

Status: Needs review » Fixed

Auto-merged into 1.x. Thanks!

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.