βAurabase Cloud est en bêta ouverte — accès instantanéObtenir un accès →

Aurabase / benchmarks

Benchmarks

Tests réels sur stack complet — gateway Rust + NATS + PostgreSQL

p95 < 9 ms @ 10 VUs0% erreur à 100 VUs379 req/s en écriture11× plus rapide en auth vs PocketBase

Mesuré en local Docker (dev machine, Apple Silicon). Code source des benchmarks disponible dans /benchmarks

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.

SLO 200ms1002003004005000ms10 VUs50 VUs100 VUsAurabaseSupabaseAppwrite

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.

list_509.0× overhead
PG direct
2 438 /s
API
268 /s
point_read11.5× overhead
PG direct
3 154 /s
API
292 /s
filtered2.6× overhead
PG direct
414 /s
API
159 /s

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.

StackArchiDBp95 read (10 VUs)Write p95Auth p50Score
AurabaseRust + NATSPostgreSQL8.8 ms162 ms~15 ms
SupabaseGo + HaskellPostgreSQL~12 ms~~200 ms~~30 ms~
PocketBaseGo monoSQLite~7 ms~9 ms~300 ms
TrailBaseRust monoSQLite~1 ms~1 ms~200 ms
AppwritePHP + GoMariaDB~40 ms~~100 ms~~25 ms~
FirebaseCloudPropriétaire40–80 ms50–100 ms~~50 ms~
✓ conforme~ acceptable✗ hors SLO

05 — Micro-benchmarks Level 1 (Criterion.rs)

Fonctions critiques en isolation — aucune infra requise

Argon2 hash

14 ms

10 inscriptions max/IP/h

JWT generate

1.81µs

hot path × chaque requête

JWT validate

1.58µs

hot path × chaque requête

AES-GCM roundtrip

8.37µs

chiffrement TOTP/MFA

Filter parsing (×4)

226ns

parsing query params

JSON serde NatsReq

637ns

bus de messages NATS

06 — Auth GET /user sous charge

Latence p95 auth — token JWT partagé, 0% erreur sur 3 paliers

10 VUs
50 VUs
100 VUs
SLO target < 200ms p95✓ 10 VUs, 50 VUs passent — 100 VUs sous pression (174.8ms)

07 — CRUD Write (k6)

Scénario CREATE → UPDATE → DELETE — 5→50 VUs, 2min

p50

51.7ms

p95

162ms

p99

216ms

throughput

379req/s

erreurs

0.00%

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.