Yaak Logo
Yaak
Feedback/Enabling SQLite WAL mode for improved performance on slow SSD

Enabling SQLite WAL mode for improved performance on slow SSD

Antonin ·May 21, 2026 19:32:18 UTC·YK-990
ReleasedImprovement

Hi

In my Linux machine sending a requests that responds in ≈50ms would take yaak about ≈5 seconds to respond.

After investigating, I found that it was coming from SQLite, my machine has a slow SSD and everytime a write is done, it’s slowing down the whole app. In my other machine that has yaak installed on a fast nvme ssd, the app was always pretty fast.

The SQLite app database is running in default journal_mode = DELETE with synchronous = FULL, meaning every commit does a full fsync if I understand well. When a request produces many rapid writes (e.g. the response timeline rows), each row has to wait for its own fsync, so the timeline appears row-by-row instead of all at once and everything slows down.

Enabling SQLite WAL mode makes the app about 10 times faster in my machine. I guess the benefit would be even bigger on machines that still use hdd.

I have a working demo that I did with the help of AI (I haven’t done a pull request because this seems out of scope according to CONTRIBUTING.md and I don’t know Rust), but you can have a look if you want to see how the potential fix was done → https://github.com/Arkounay/yaak/tree/feat/sqlite-wal-mode-setting

Here’s an example of the times with the current yaak version:

(1.7s) image

and same request with WAL mode on my machine (22ms) image

the longer the timeline is, the bigger is the benefit

Linux2026.4.0

Comments (19)

Sign in to leave a comment.

Very slow perfomance after last updatewas merged
Yaak BotReleasedFeatured

This shipped in 2026.5.0 🎉

Gregory SchierReleased to Beta

This is now available in 2026.5.0-beta.5!

pavulon

Nice! Seems to perform great, timeline matches what the server says.

The only tiny issue I still can see is the timer having a mind of its own:

image
Gregory Schier

Oh what? It keeps spinning even though the request finished?

pavulon

Yup

Gregory Schier

Working on a fix. Seems to be caused by the large upload body (I assume it’s 250mb?)

Gregory SchierPending Release
Antonin OP

nice! thanks :D

Gregory SchierNeeds Reproduction

Great find! Going to look into this.

Gregory Schier
Type to search feedback...