perf: batch access-log writes instead of goroutine+insert per request #91

Merged
benvin merged 1 commits from benvin/batch-access-log into master 2026-07-02 22:07:56 +10:00

1 Commits

Author SHA1 Message Date
unkinben 41f069bf96 perf: batch access-log writes via a buffered background writer
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/build Pipeline was successful
Every request spawned a goroutine doing a 5s-timeout INSERT, unbounded
under load. Route entries through a buffered channel drained by a single
background writer that bulk-inserts with COPY every 128 entries or 2s.
logAccess is now a non-blocking send that drops on a full buffer, so the
request path never waits on the database.

Refs #76
2026-07-02 00:40:44 +10:00