element-hq / element-hq/synapse
Performance Testing Report for Snaps PostgreSQL
- Dominant language
- Python
- Stars
- 4.6k
- Forks
- 600
- Avg merge
- 5d 22h
- Merged PRs (30d)
- 51
Description
This issue has been migrated from [#16593](https://github.com/matrix-org/synapse/issues/16593).
---
**Description:**
I conducted performance testing for Snaps PostgreSQL running on a dedicated server with 4 cores and 8GB of RAM, separate from the Snaps server. The testing involved the following scenarios:
1. Using JMeter, I conducted load testing for sending messages to groups with 10/20/50/100 users via the `/_matrix/client/v3/rooms/${admin_room_id}/send/m.room.message/${__time(,)}` API.
2. I used the sync API to sync the latest 1/5/10 events via `/_matrix/client/v3/sync`.
**Results:**
1. Only the scenario with 10 users in a group exhibited satisfactory throughput.
2. In a group of 30 users, where each user sent 3000 continuous messages without syncing any events, the PostgreSQL server's CPU reached a bottleneck.
3. The performance of the sync API exhibited peculiar behavior, with some unfragmented events reaching sizes as large as 10MB!!!
I would like to know if there are any optimal production server hardware requirements, as well as official performance test reports
Contributor guide
Assessment
This issue has not been assessed yet.