Skip to content
Hardcount
Run it locally
Pre-1.0 · one maintainer · Stripe and cards only · no SDKs (client libraries) yet · no production users yet. Docs describe v0.9.1 (29 Oct 2026) · What’s new →

Write I/O after a large backfill

A backfill loads a lot of old usage at once. Afterwards, Postgres spends a few minutes on maintenance. Back to the runbook index.

After a bulk load, write I/O stays high for a few minutes and a commit can stall.

Measured on the benchmark rig (2026-08-16):

  • A 20M-row bulk load into usage_events was followed by about 5 minutes of RDS write IOPS at about 2× baseline. Autovacuum and the checkpointer were working through the load.
  • One commit stall of about 5 s came about 20 s after ingest resumed at 200 events/s.
  • Steady traffic in the following 90 minutes, across three rates, showed nothing similar.

Autovacuum and the checkpointer work through the new rows.

Watch WriteIOPS return to baseline.

If you backfill tens of millions of events (POST /v1/usage-events/backfill, or a direct load) and then need p99 under 10 ms right away, wait for WriteIOPS to return to baseline first. Or schedule large backfills off-peak.

WriteIOPS is back at baseline and p99 latency is back to normal.