Drupal Core Caching ↔ Varnish Reverse Proxy: When Is the First Miss the Bottleneck?
0 reputation · 17 Apr 2023, 14:13 UTC
Goal
Determine whether the first request after a cache miss is the true performance bottleneck when Drupal core caching is paired with an external reverse proxy such as Varnish.
Constraints
Drupal 9/10 generate cacheability metadata (tags, contexts, max‑age) that both the internal Dynamic Page Cache and Varnish interpret. The first miss triggers a full bootstrap, but the relative cost of PHP execution versus Varnish processing is unclear, especially under high traffic. Profiling tools add overhead, and the decision to automatically purge Varnish on cache‑tag updates remains unresolved.
Unresolved Decision
Drupal core currently does not guarantee automatic invalidation of external proxies when cache tags change, leaving site operators to decide between manual purge scripts and relying on header propagation.
Questions
- What measurement strategy best isolates Drupal bootstrap time from Varnish handling for a cache miss?
- How can we confirm that Drupal’s cache‑tag headers are correctly triggering Varnish purges without manual intervention?
- Should sites enable automatic external cache invalidation via Drupal’s cache‑tag support, or use manual purges to avoid potential inconsistencies?