Skip to main content

ESS Sizing

The values provided below are indicative and might vary a lot depending on your setup, the volume of federation traffic, active usage, bridged use-cases, integrations enabled, etc.

CPU & Memory

Synapse Homeserver

The installer comes with default installation profiles which configure workers depending on your setup. For each profile :

  • CPU is the maximum cpu cores the Homeserver can request
  • Memory is the average memory the Homeserver will require
1–500 users 501–2500 users 2501–10000 users
unfed 2 CPU, 2000 MiB RAM 6 CPU, 5650 MiB RAM 10 CPU, 8150 MiB RAM
small fed 2 CPU, 2000 MiB RAM 6 CPU, 5650 MiB RAM 10 CPU, 8150 MiB RAM
open fed 5 CPU, 4500 MiB RAM 9 CPU, 8150 MiB RAM 15 CPU, 11650 MiB RAM

PostgresSQL

Synapse Postgres Server

Synapse postgres server will require the following resources :

1–500 users 501–2500 users 2501–10000 users
unfed 1 CPU, 4 GiB RAM 2 CPU, 12 GiB RAM 4 CPU, 16 GiB RAM
small fed 2 CPU, 6 GiB RAM 4 CPU, 18 GiB RAM 8 CPU, 28 GiB RAM
open fed 3 CPU, 8 GiB RAM 5 CPU, 24 GiB RAM 10 CPU, 32 GiB RAM

Operator & Updater

The Updater memory usage remains at 256Mi. At least 1 CPU should be provisioned for the operator and the updater.

The Operator memory usage scales linearly with the number of integrations you deploy with ESS. It's memory usage will remain low, but might spike up to 256Mi x Nb Integrations during deployment and configuration changes.

Volumes

Synapse Medias

The disk usage to expect after a year can be calculated using the following formula : average media size x average number of media uploaded / day x active users x 365.

Media retention can be configured with the configuration option in Synapse/Config/Data Retention of the installer.

Postgres DB size

The disk usage to expect after a year can be calculated using the following formula :

  • If Federation is enabled, active users x 0.9GB.
  • If Federation is disabled or limited, active users x 0.6GB.