element-hq / element-hq/dendrite

Quality of Service

Open
#1,280 1 comment 0 reactions 0 assignees View on GitHub
long term T-Enhancement X-Performance
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.