02 — Read latency p95
p95 read latency by concurrency level (ms)
Supabase e Appwrite: stime basate su benchmark pubblicati e problemi di GitHub. Linea verde = 200 ms SLO.
03 — API overhead vs direct PostgreSQL
Sequential throughput (ops/s) — full stack vs direct PG query
1.000 iterazioni sequenziali, connessione Docker locale. Il sovraccarico è strutturale: gateway → NATS → db-service → PostgREST → PG.
Nota sul filtrato (2,6×): La query filtrata (ORDER BY + WHERE) impiega 2,35 ms nel PG diretto contro 0,3 ms per le altre, il che comprime meccanicamente il rapporto di sovraccarico apparente.
04 — Competitor comparison
Competitive benchmark — self-hosted stack under real conditions
PocketBase/TrailBase: SQLite (processo singolo, nessun DB di rete). Supabase: stime dello stack locale. Appwrite: benchmark TTL ufficiale.
| Stack | Architecture | DB | p95 read (10 VUs) | p95 write | p50 auth | Score |
|---|---|---|---|---|---|---|
| Aurabase | Rust + NATS | PostgreSQL | 8.8 ms✓ | 162 ms✓ | ~15 ms✓ | |
| Supabase | Go + Haskell | PostgreSQL | ~12 ms~ | ~200 ms~ | ~30 ms~ | |
| PocketBase | Go mono | SQLite | ~7 ms✓ | ~9 ms✓ | ~300 ms✗ | |
| TrailBase | Rust mono | SQLite | ~1 ms✓ | ~1 ms✓ | ~200 ms✗ | |
| Appwrite | PHP + Go | MariaDB | ~40 ms~ | ~100 ms~ | ~25 ms~ | |
| Firebase | Cloud | Proprietary | 40–80 ms✗ | 50–100 ms~ | ~50 ms~ |
05 — Level 1 Micro-benchmarks (Criterion.rs)
Critical functions in isolation — no infrastructure required
Argon2 hash
10 max signups/IP/h
JWT generate
hot path × every request
JWT validate
hot path × every request
AES-GCM roundtrip
TOTP/MFA encryption
Filter parsing (×4)
parsing query params
JSON serde NatsReq
NATS message bus
06 — Auth GET /user under load
p95 auth latency — shared JWT token, 0% error across 3 concurrency tiers
07 — CRUD Write (k6)
CREATE → UPDATE → DELETE scenario — 5→50 VUs, 2min
p50
p95
p99
throughput
errors
08 — Limits & context
PGRST_DB_POOL=20
PostgREST connection pool limit configured for local dev. In production with pool=100, saturation shifts to ~500 VUs. Configuration parameter, not architectural ceiling.
SQLite vs PostgreSQL
PocketBase and TrailBase (single-process SQLite) achieve lower raw latencies but do not support multi-tenancy or horizontal scaling.
Dev environment
All Aurabase tests run inside Docker on Apple Silicon dev hardware. On dedicated bare-metal servers, latencies are typically 20–40% lower.
Test eseguiti il 29 maggio 2026 · Stack: Rust 1.87 · PostgreSQL 16 · k6 v2.0 · Criterion.rs 0.5 · Dati della concorrenza provenienti da benchmark ufficiali pubblicati.