02 — Read latency p95
Latence p95 en lecture par niveau de concurrence (ms)
Supabase et Appwrite : estimations basées sur benchmarks publiés et issues GitHub. Ligne verte = SLO 200ms.
03 — Overhead API vs PostgreSQL direct
Throughput séquentiel (ops/s) — stack complet vs requête PG directe
1 000 itérations séquentielles, connexion locale Docker. L'overhead est structurel : gateway → NATS → db-service → PostgREST → PG.
Note filtered (2.6×) : La requête filtrée (ORDER BY + WHERE) prend 2.35ms en PG direct vs 0.3ms pour les autres, ce qui compresse mécaniquement le ratio d'overhead apparent.
04 — Comparaison concurrents
Benchmark compétitif — stack self-hosted en conditions réelles
PocketBase/TrailBase : SQLite (mono-process, pas de réseau DB). Supabase : estimations stack local. Appwrite : benchmark TTL officiel.
| Stack | Archi | DB | p95 read (10 VUs) | Write p95 | Auth p50 | 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 | Propriétaire | 40–80 ms✗ | 50–100 ms~ | ~50 ms~ | ★★★★★ |
05 — Micro-benchmarks Level 1 (Criterion.rs)
Fonctions critiques en isolation — aucune infra requise
Argon2 hash
10 inscriptions max/IP/h
JWT generate
hot path × chaque requête
JWT validate
hot path × chaque requête
AES-GCM roundtrip
chiffrement TOTP/MFA
Filter parsing (×4)
parsing query params
JSON serde NatsReq
bus de messages NATS
06 — Auth GET /user sous charge
Latence p95 auth — token JWT partagé, 0% erreur sur 3 paliers
07 — CRUD Write (k6)
Scénario CREATE → UPDATE → DELETE — 5→50 VUs, 2min
p50
p95
p99
throughput
erreurs
08 — Limites et contexte
PGRST_DB_POOL=20
Limite de pool PostgREST configurée pour le dev local. En production avec pool=100, la saturation se déplacerait à ~500 VUs. Configuration, pas architecture.
SQLite vs PostgreSQL
PocketBase et TrailBase (SQLite mono-process) ont des latences brutes inférieures mais ne supportent pas le multi-tenant ni le scaling horizontal.
Environnement dev
Tous les tests Aurabase tournent en Docker sur machine de dev Apple Silicon. Sur hardware serveur dédié, les latences seraient inférieures de ~20–40%.
Tests réalisés le 29 mai 2026 · Stack : Rust 1.87 · PostgreSQL 17 · k6 v2.0 · Criterion.rs 0.5 · Données concurrents issues des benchmarks publiés officiellement.