HomeEE · Architecture › Capacity planning ⚡ (elective)

Capacity planning ⚡ (elective)

Purpose: Size an AEM platform from workload numbers instead of vendor t-shirt sizes.

Who this page is for

AudienceWhy it matters to you
Architects / platform engineersSizing exercises

⚡ Elective — for platform sizing moments

Inputs to gather first

InputWhy it dominates
Peak page views/sec + cache hit ratioUncached RPS = what publish must actually render
Render cost p95 per page familyThreads × time = publisher capacity
Content volume (pages, assets, growth/yr)Repo size, index size, backup windows
Author concurrency + workflow/DAM ingest volumeAuthor sizing
Invalidation frequencyCold-cache exposure

The publish math (order-of-magnitude model)

uncached_rps  = peak_rps × (1 − hit_ratio)            e.g. 500 × 0.08 = 40
threads_used  = uncached_rps × render_seconds_p95      40 × 0.4 = 16 threads
per publisher ≈ healthy at ~60% of its render pool     pool 32 → ~19 usable
instances     = ceil(threads_used / usable) + 1 (deploy headroom) → 2 (+1)
then re-run at COLD cache (hit_ratio 0) for the flush/deploy case → this usually sets N

The cold-cache row is the real sizing constraint on invalidation-heavy sites — see the matching load-test scenario.

Storage & memory rules of thumb

Validate, then re-validate

A sizing model is a hypothesis; the load test at production content volume is the experiment. Re-run the numbers at every major traffic event, content migration, or feature that moves the cache hit ratio (personalisation!).

Quick navigation