02 — Read latency p95
p95 read latency by concurrency level (ms)
Supabase y Appwrite: estimaciones basadas en puntos de referencia publicados y problemas de GitHub. Línea verde = 200 ms SLO.
03 — API overhead vs direct PostgreSQL
Sequential throughput (ops/s) — full stack vs direct PG query
1.000 iteraciones secuenciales, conexión Docker local. La sobrecarga es estructural: puerta de enlace → NATS → servicio db → PostgREST → PG.
Nota sobre filtrado (2,6×): La consulta filtrada (ORDER BY + WHERE) tarda 2,35 ms en PG directo frente a 0,3 ms para otras, lo que comprime mecánicamente la relación de sobrecarga aparente.
04 — Competitor comparison
Competitive benchmark — self-hosted stack under real conditions
PocketBase/TrailBase: SQLite (proceso único, sin base de datos de red). Supabase: estimaciones de pila local. Appwrite: punto de referencia TTL oficial.
| 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.
Pruebas realizadas el 29 de mayo de 2026 · Pila: Rust 1.87 · PostgreSQL 16 · k6 v2.0 · Criterion.rs 0.5 · Datos de la competencia obtenidos de puntos de referencia oficiales publicados.