Synapse Workers service
Synapse Workers is an option for the Synapse homeserver, which allows it to offload CPU-intensive tasks to separate worker processes, improving the performance of the homeserver.
For small instances (less than 8GB RAM) it is recommended to run Synapse in the default monolith mode. For larger instances where performance is a concern it can be helpful to split out functionality into multiple separate python processes. These processes are called ‘workers’, and are (eventually) intended to scale horizontally independently.
We configure the following workers (by default, a single instance of each worker type is enabled, but some types can be scaled up per request):
- Room Workers - handle various Client-Server & Federation APIs dedicated to handling specific rooms
- Sync Workers - handle various Client-Server
APIs related to synchronization (most notably the
/sync
endpoint ) - Client Readers - handle various Client-Server APIs which are not for specific rooms (handled by Room Workers) or for synchronization (handled by Sync Workers)
- Federation Readers - handle various Federation APIs which are not for specific rooms (handled by Room Workers)
- Pushers (via generic worker) - handle sending push and email notifications to users
- Event Persisters (via generic worker) - handle persisting events to the database
- Federation Senders (via generic worker) - handle sending federation requests to other homeservers
- Media Repository Workers - handle media repository requests
- Appservice Workers (via generic worker) - handle requests from application services, such as bridges
- User Directory Workers (via generic worker) - handle searches in the user directory
- Background Workers - handle background tasks that are run periodically or started via replication
- Stream Writers: Events - handle writing events to the event stream
- Stream Writers: Typing - handle writing events to the typing stream
- Stream Writers: To Device - handle writing events to the to_device stream
- Stream Writers: Account Data - handle writing events to the account_data stream
- Stream Writers: Receipts - handle writing events to the receipts stream
- Stream Writers: Presence - handle writing events to the presence stream
Don't have a Matrix server yet?
We specialize in setup, hosting and maintenance of Matrix and various Matrix & non-Matrix add-ons.
Hosting is on affordable VPS servers provided by us (via Hetzner Cloud) in the EU or US,
or on your own infrastructure anywhere in the world.
Let's build your Matrix haven together!