Plans
App and Postgres sizes — CPU and memory per plan
A plan is a target's size. Apps and Postgres instances each have their own table; a
plan change is applied by pier set app api --plan app-m (a roll) or pier set pg main --plan pg-m (a restart), or by editing plan: and applying.
Apps
| Plan | CPU | Memory |
|---|---|---|
app-s | 0.5 | 512 MB |
app-m | 1 | 2 GB |
app-l | 2 | 4 GB |
app-xl | 4 | 8 GB |
app-2xl | 8 | 16 GB |
Memory is 1 GB per CPU at app-s and 2 GB per CPU from app-m up. Replicas multiply
the plan: app-s × replicas: 3 is three instances of 0.5 CPU / 512 MB.
Postgres
| Plan | CPU | Memory |
|---|---|---|
pg-s | 0.5 | 1 GB |
pg-m | 0.5 | 2 GB |
pg-l | 1 | 4 GB |
pg-xl | 2 | 8 GB |
pg-2xl | 4 | 16 GB |
pg-m is a memory-only step over pg-s (same CPU, twice the cache) for read-heavy
small workloads; from pg-l up memory is 4 GB per CPU. Storage is not part of the plan:
it grows with the data, capped by max_storage_gb if set.
pier pg plans prints the Postgres table from the platform.
Sites, buckets, volumes, domains
Sites, buckets and domains have no plan. Volumes are sized by storage_gb
(Volumes).
Prices are on pier.run and in pier billing overview for your workspace.