Closed DoM1niC closed 11 months ago
Hi, thanks for your report!
I think what may be happening here is that the sliding sync proxy, which is always polling /sync for the devices that use it, is accidentally updating the presence state of its users to 'online'. This directly creates a bit of extra busy work for Synapse to do, but probably more importantly causes a knock-on effect where we wake up the /sync loops for other devices that are syncing in order to tell them about this updated presence.
Ideally the sliding sync proxy would not get involved in presence if it's not equipped to do so properly (as far as I know this is being left as a future extension).
I've opened a couple of tickets with the Sliding Sync proxy team: https://github.com/matrix-org/sliding-sync/issues/218 and https://github.com/matrix-org/sliding-sync/issues/217.
Once they're solved it would be worth looking at this situation again.
Edit: will put this on a list for us to come back to in the future.
Once https://github.com/matrix-org/sliding-sync/pull/292 is in the proxy and clokep's recent presence work has landed (https://github.com/matrix-org/synapse/issues/16057 I think?) we think this should be mitigated. These should be available in the next sliding sync proxy release (0.99.11? current is 0.99.10) and the next Synapse release (1.93).
@DoM1niC: when these releases are out, can you test this with your deployment to confirm that the CPU usage is more reasonable?
Sure I will do 👍
Looks good so far .... no issues yet
We think this is now fixed. Shout if its not and we'll reopen!
Description
I try out to reduce my issue while disable presence fully, now I only enable presence to events / sync workers. I never saw this impact since I use Sync v3 Proxy for test purpose of Element X.
Steps to reproduce
presence: enabled: false
start your Workers, all is fineHomeserver
3dns.eu
Synapse Version
1.88.0
Installation Method
Docker (matrixdotorg/synapse)
Database
PostgresSQL 15
Workers
Multiple process
Platform
Arch Linux (Rolling)
Configuration
No response
Relevant log output
Anything else that would be useful to know?
No response