element-hq / element-hq/dendrite
Quality of Service
- Dominant language
- Go
- Stars
- 965
- Forks
- 101
- PR merge metrics
- No merged PRs in 30d
Description
*This issue was originally created by [**@kegsay**](https://github.com/kegsay) at .*
- A single user should not be able to degrade the performance of the server to such a point as to make other users unusable or unstable.
- A single room should not be able to degrade the performance of the server to such a point as to make other rooms unusable or unstable.
- Under extreme load, we should gracefully degrade non-critical traffic (typing, presence, receipts) over critical traffic (messages, device keys).
- It should be possible to make exceptions for rooms and/or users to increase their usage quotas.
I'd like to at the least add basic support or think about how we would sooner rather than later as it's always bugged me that Synapse doesn't have this, which can result in a few malicious/buggy users crippling the server.
Contributor guide
Research direction
The issue names no files, tests, or entry points. Start by defining the scope of per-user and per-room quotas, traffic prioritisation, graceful degradation, and exception handling; done would require an agreed design and implementation plan for protecting critical traffic under load.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100