Wim Leers
@wimleers
wimleers.com
Front end
↕
Back end
Front end: CSS, JS, images, fonts … (assets)
↕
Back end: HTML
80–90% of time is spent on front end
⬇
Bigger speed gains on front end than on back end
Performance
↕
Perceived performance
First, optimize front end in typical way:
… but if the back end is already slow, the front end alone cannot make it fast.
Intersection of front-end & back-end performance
Drupal needs to lots of things before replying
TTFB, TTAP, TTI: typically 100s of ms (~ back end)
Drupal needs to do almost nothing before replying
Drupal needs to several things before replying
Drupal needs to do almost nothing before replying, BUT continues to do things afterwards
At a high level
+
Cacheability bubbled during rendering!
Cache tags: efficient invalidation of Varnish/CDN
Page cache = reverse proxy ⇒ tested!
http://wimleers.com/talk/caching-at-the-edge-cdns-for-everyone
renderer.config:
auto_placeholder_conditions:
max-age: 0
contexts: ['session', 'user']
tags: []
renderable in isolation
+
poor cacheability
⬇
deferred rendering via BigPipe
BigPipe details: Acquia webinar in 2 weeks:
BigPipe: The Architecture Behind the Fastest Version of Drupal Yet
http://wimleers.com/blog/drupal-8-page-caching-enabled-by-default
http://wimleers.com/article/drupal-8-dynamic-page-cache
http://wimleers.com/talk/caching-at-the-edge-cdns-for-everyone