Quality attributes
Performance and capacity
Cloudflare carries most of the load. These are the targets, the caching layers and the capacity model.
Targets
Targets are in Principles and quality targets; SLIs and SLOs are in Observability.
Caching layers
Figure 34. Caching layers, outermost first.
| Layer |
Cache key |
Lifetime |
Cleared by |
| Cloudflare, content and listings |
URL and region cookie |
24 h |
Tag purge on publish, all HTML on frontend deploy, coarse purge for untagged changes |
| Cloudflare, coarsely tagged, not-found and finder place pages |
Same |
5 minutes |
Same |
| Cloudflare, degraded pages |
Same |
30 s |
Expiry |
| Next.js menus, footers, banners |
Per server |
About 1 minute |
Expiry |
| Next.js last good copy |
Per server, 64 MB |
6 hours, used only when Drupal fails |
Expiry |
| Varnish, CMS |
URL, cookie, region |
1 hour |
Ban by tag on publish |
| Drupal memcache |
Cache bins |
Per bin |
Cache tags |
| Finder API at the edge |
n/a |
Not cached yet; 60 s prices and 2 minutes filters planned |
n/a |
Capacity model
| Tier |
Design |
| Expected load |
Legacy www.padi.com in October 2026: bots 4.15 page views/s median, 38 max; people 0.65 median, 6.2 max. Design point 20 page views/s. |
| Cloudflare |
Serves most page views from cache; HTML kept up to 24 h and cleared by cache tags on publish |
| Next.js servers |
Autoscaled by Acquia; a saturated server answers new page requests with a fast 503 |
| Drupal |
Varnish in front of JSON:API; Memcache 2 GB |
| Finder |
Autoscaling groups; sizes in Finder |
Content freshness exceptions
Tagged changes are purged on publish and again 6 minutes later. These kinds of change take longer:
| Change |
Time to appear |
| Content in shared bands, promoted home items, listing card images |
Until the coarse refresh clears them |
| A shop removed from a finder place page |
After the change reaches search and the page's 5-minute lifetime ends |
| Sitemap |
When the sitemap is next regenerated |
| A DAM image changed in Acquia DAM without a Drupal save |
hours to days |
| A file overwritten at the same URL (optimised image cache) |
up to 7 days |
| Database changes made outside Drupal |
until the next purge or deploy |