Issues with convene/dendrite on AAMD64 build #5

Open
opened 2026-03-10 15:20:55 +00:00 by nathan · 5 comments
Owner
  • performance of matrix dendrite server is slow
  • see multiple "database is locked" and 30s timeout in dendrite.log
  • could be issue with sqlite configuration?
- performance of matrix dendrite server is slow - see multiple "database is locked" and 30s timeout in dendrite.log - could be issue with sqlite configuration?
Author
Owner
related tickets: https://github.com/matrix-org/matrix-rust-sdk/issues/5362 https://github.com/NixOS/nixpkgs/issues/243621
Author
Owner

postgresql seems to be the answer

postgresql seems to be the answer
Author
Owner

this is for Echo project work/timeline so can happen in early April

this is for Echo project work/timeline so can happen in early April
Author
Owner

Good news is that the problem only happens with low quality "USB Flash" drives that have slow, blocking read/write times. On faster external SSD drives, it is fine.

Still, we should investigate switching out postgres for sqlite in the Dendrite install

Good news is that the problem only happens with low quality "USB Flash" drives that have slow, blocking read/write times. On faster external SSD drives, it is fine. Still, we should investigate switching out postgres for sqlite in the Dendrite install
nathan added this to the Butter Box project 2026-07-13 20:29:46 +00:00
Owner

The default sqlite config in dendrite is to have a 1 single connection due to a bug where enabling more leads to the server becoming unresponsive: github.com/element-hq/dendrite@08cac1ccf0/roomserver/storage/sqlite3/storage.go (L39)

I also see that WAL is disabled there, I wonder if enabling it might still make a difference to a very slow disk? It would reduce the number of disk operations for a write, but adds an extra file lookup for a read, not ideal for a chat app.

I expect postgres to have more more disk i/o and RAM overhead, but it will be beneficial for RPI builds and faster USB drives.

The default sqlite config in dendrite is to have a 1 single connection due to a bug where enabling more leads to the server becoming unresponsive: https://github.com/element-hq/dendrite/blob/08cac1ccf0a45471132ad24a29e3ec15643675fa/roomserver/storage/sqlite3/storage.go#L39 I also see that WAL is disabled there, I wonder if enabling it might still make a difference to a very slow disk? It would reduce the number of disk operations for a write, but adds an extra file lookup for a read, not ideal for a chat app. I expect postgres to have more more disk i/o and RAM overhead, but it will be beneficial for RPI builds and faster USB drives.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
butter/churn#5
No description provided.