PRODPiattaforma BaaS europea sovranaApri Dashboard →

Aurabase/benchmark

Benchmark

Test nel mondo reale sull'intero stack — Porta della ruggine +NATS+PostgreSQL

p95 < 9 ms @ 10 VUs0% errors @ 100 VUs379 req/s write throughput11× faster auth vs PocketBase

Misurato nel Docker locale (macchina di sviluppo, Apple Silicon). Codice sorgente dei benchmark disponibili in /benchmarks

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.

SLO 200 ms1002003004005000signorina10 VUs50 VUs100 VUsAurabaseSupabaseAppwrite

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.

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

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.

StackArchitectureDBp95 read (10 VUs)p95 writep50 authScore
AurabaseRust + NATSPostgreSQL8.8 ms✓162 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~
FirebaseCloudProprietary40–80 ms✗50–100 ms~~50 ms~
✓ compliant~ acceptable✗ exceeds SLO

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

Critical functions in isolation — no infrastructure required

Argon2 hash

14 ms

10 max signups/IP/h

JWT generate

1.81µs

hot path × every request

JWT validate

1.58µs

hot path × every request

AES-GCM roundtrip

8.37µs

TOTP/MFA encryption

Filter parsing (×4)

226ns

parsing query params

JSON serde NatsReq

637ns

NATS message bus

06 — Auth GET /user under load

p95 auth latency — shared JWT token, 0% error across 3 concurrency tiers

10 VUs
50 VUs
100 VUs
Obiettivo SLO < 200 ms p95✓ Passaggio di 10 VU, 50 VU — 100 VU sotto pressione (174,8 ms)

07 — CRUD Write (k6)

CREATE → UPDATE → DELETE scenario — 5→50 VUs, 2min

p50

51.7ms

p95

162ms

p99

216ms

throughput

379req/s

errors

0.00%

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.