Quantcast
Channel: Issues for Drupal core
Viewing all articles
Browse latest Browse all 293784

Move internal page caching to a module to avoid relying on config get on runtime

$
0
0

Problem/Motivation

I haven't profiled page cache performance compared to Drupal 7 or 6 recently, but I doubt it's better.

One fairly quick win would be to remove the config get for the page cache settings.

Proposed resolution

Have a module that unconditionally turns on the page cache. I.e. installing the module = enabling page cache, uninstalling the module = disabling page cache.

Since page cache is disabled by default, this page_cache module should not be installed by default.

Remaining tasks

  1. #15.4 (see my reply in #19.4), fixed in #28
  2. #23.4 (see my reply in #25.4)
  3. LanguageNegotiator todos (see #40#47)
  4. Review.

User interface changes

  • No more "Cache pages for anonymous users" and "Compress cached pages" settings at /admin/config/development/performance.
  • A new module that can be enabled instead: Internal page cache

API changes

None; only config changes.

Original report by @catch

I haven't profiled page cache performance compared to Drupal 7 or 6 recently, but I doubt it's better.

One fairly quick win would be to remove the config get for the page cache settings.

Proposed resolution

Option #1:
Add the internal page cache setting as a container parameter and check that for page caching.
This should save a config get on page cache hits, which if there are no other bugs with page caching, should mean a single cache request for the page cache item itself and nothing else.

It does mean another place where a config change will require a container update though.

Option #2:
Default internal page caching to on, to disable internal page caching there'd still be the following options:

1. Null page cache backend
2. 0 ttl in the UI (so pages get written but are never valid) - this is probably OK for dev but not for production.
3. A contrib module could exist just to do #1.

Either option would allow us to remove the page_cache_without_database setting.


Viewing all articles
Browse latest Browse all 293784

Trending Articles