Problem/Motivation

Depends on #3259709: Create the database driver for MySQLi and soft-depends on #3377570: Add PHP Fibers support to BigPipe

Steps to reproduce

Proposed resolution

Once we have a mysqli driver, we'll have the ability to execute asynchronous MySQL queries.

When combined with #3377570: Add PHP Fibers support to BigPipe this will allow us to make an async query, suspend a fiber, then continue once the query comes back.

We will need to both detect when the database driver supports async queries, and also that we're inside a fiber, so it's a couple of extra code paths.

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

Comments

catch created an issue. See original summary.

catch’s picture

catch’s picture

Title: [PP-1] Add async query execution support to views » [PP-2] Add async query execution support to views
wim leers’s picture

Issue tags: +Performance, +fibers

Why does this soft-depend on #3377570: Add PHP Fibers support to BigPipe? Because without it, there's no place that the effect would be visible? 🤔

catch’s picture

Yeah exactly. If we add support here, and BigPipe has Fibers support, then we should be able to see real life performance improvements.

#3257725: Add a cache prewarm API could make use of this too, and once we have async queries in core, it'll potentially work in the single request cold cache case, but that's a bit further from being ready still.

catch’s picture

Title: [PP-2] Add async query execution support to views » [PP-1] Add async query execution support to views
catch’s picture

Title: [PP-1] Add async query execution support to views » [PP-2] Add async query execution support to views
catch’s picture

Title: [PP-2] Add async query execution support to views » [PP-1] Add async query execution support to views

Version: 11.x-dev » main

Drupal core is now using the main branch as the primary development branch. New developments and disruptive changes should now be targeted to the main branch.

Read more in the announcement.