Reference: noisia PostgreSQL chaos workload generator (activate when PG enters stack) #55

Open
opened 2026-07-05 09:15:34 -07:00 by pyr0ball · 0 comments
Owner

Source

https://github.com/lesovsky/noisia — BSD-3-Clause

What it is

PostgreSQL-only harmful workload generator. Simulates 13+ bad scenarios for stress
testing and validating monitoring/alerting:

  • Idle transactions on write-heavy tables
  • Rollbacks and query errors
  • Lock contention and deadlocks
  • Temporary file spills exceeding work_mem
  • Connection exhaustion
  • Backend termination via pg_terminate_backend()
  • WAL flooding from parallel UPDATE churn
  • Table and index bloat
  • Plan-cache memory leaks
  • Replication slot bloat

Deployment: CLI flags, Docker, or importable Go API. Each scenario has tuning guides
for pressure calibration, monitoring, and recovery validation.

Current CF fit: LOW

CF's stack is predominantly SQLite (Peregrine, Kiwi, Snipe, Turnstone, cf-licensing).
Noisia only targets PostgreSQL — no value against the current data layer.

Activate when

  • cf-licensing scales and migrates from SQLite to PostgreSQL (concurrent multi-product
    license checks at volume)
  • Website Directus is confirmed on PostgreSQL — validate the CMS DB under load
    before traffic spikes (product launches, HN/Reddit posts)
  • ArcadeDB adoption (turnstone#69, circuitforge-orch#88) — ArcadeDB speaks the
    PostgreSQL wire protocol; worth testing whether noisia's workloads expose edge cases
    in ArcadeDB's PG compatibility layer (connection exhaustion, lock scenarios)

Note on scope

Noisia is PostgreSQL chaos, not a general HTTP load tester. For load testing CF's
FastAPI endpoints (cover letter generation under concurrent users, auction sniping,
license validation throughput) — use Locust, k6, or wrk instead. Those evals are
separate.

License

BSD-3-Clause — clean for any CF testing use.

## Source https://github.com/lesovsky/noisia — BSD-3-Clause ## What it is PostgreSQL-only harmful workload generator. Simulates 13+ bad scenarios for stress testing and validating monitoring/alerting: - Idle transactions on write-heavy tables - Rollbacks and query errors - Lock contention and deadlocks - Temporary file spills exceeding work_mem - Connection exhaustion - Backend termination via pg_terminate_backend() - WAL flooding from parallel UPDATE churn - Table and index bloat - Plan-cache memory leaks - Replication slot bloat Deployment: CLI flags, Docker, or importable Go API. Each scenario has tuning guides for pressure calibration, monitoring, and recovery validation. ## Current CF fit: LOW CF's stack is predominantly SQLite (Peregrine, Kiwi, Snipe, Turnstone, cf-licensing). Noisia only targets PostgreSQL — no value against the current data layer. ## Activate when - **cf-licensing scales** and migrates from SQLite to PostgreSQL (concurrent multi-product license checks at volume) - **Website Directus** is confirmed on PostgreSQL — validate the CMS DB under load before traffic spikes (product launches, HN/Reddit posts) - **ArcadeDB adoption** (turnstone#69, circuitforge-orch#88) — ArcadeDB speaks the PostgreSQL wire protocol; worth testing whether noisia's workloads expose edge cases in ArcadeDB's PG compatibility layer (connection exhaustion, lock scenarios) ## Note on scope Noisia is PostgreSQL chaos, not a general HTTP load tester. For load testing CF's FastAPI endpoints (cover letter generation under concurrent users, auction sniping, license validation throughput) — use Locust, k6, or wrk instead. Those evals are separate. ## License BSD-3-Clause — clean for any CF testing use.
Sign in to join this conversation.
No description provided.