diff --git a/Understanding-Synapse-Performance-Issues-Through-Grafana-Graphs.md b/Understanding-Synapse-Performance-Issues-Through-Grafana-Graphs.md index 7bdc13b..9da8b43 100644 --- a/Understanding-Synapse-Performance-Issues-Through-Grafana-Graphs.md +++ b/Understanding-Synapse-Performance-Issues-Through-Grafana-Graphs.md @@ -24,19 +24,18 @@ In the first graph, we can see obvious spikes corresponding to lots of `get_user Still, it's probably worth investigating why we're getting users from the database that often, and whether it's possible to reduce the amount of queries we make by adjusting our cache factor(s). -`persist_events` is transaction, that saving new PDU (Persistent Data Unit) events to Synapse database, EDU (Ephemeral Data Unit) is not counts in this group. +The `persist_events` transaction is responsible for saving new room events to the Synapse database, so can often show a high transaction duration. ## Federation -Federation section charts shows info about incoming and outgoing federation transactions, that have two major types: +The charts in the "Federation" section show information about incoming and outgoing federation requests. Federation data can be divided into two basic types: -- PDU (Persistent Data Unit) - events, that stored in persistent database: room messages, state events (join/leave), etc. -- EDU (Ephemeral Data Unit) - events, that not need to be stored permanently, such as read receipts, typing notifications. +- PDU (Persistent Data Unit) - room events: messages, state events (join/leave), etc. These are permanently stored in the database. +- EDU (Ephemeral Data Unit) - other data, which need not be stored permanently, such as read receipts, typing notifications. -Also "Outgoing EDUs by type" chart shows outgoing federation transactions by type: `m.device_list_update`, `m.direct_to_device`, `m.presence`, `m.receipt`, `m.typing`. - -If you see too much `m.presence` transactions with too much CPU load, you can disable `presence` in Synapse config, issue about this problem - here: [Presence is increasingly heavy](https://github.com/matrix-org/synapse/issues/3971) +The "Outgoing EDUs by type" chart shows the EDUs within outgoing federation requests by type: `m.device_list_update`, `m.direct_to_device`, `m.presence`, `m.receipt`, `m.typing`. +If you see a large number of `m.presence` EDUs and are having trouble with too much CPU load, you can disable `presence` in the Synapse config. See also [#3971](https://github.com/matrix-org/synapse/issues/3971). ## Caches