PRODSoeverein Europees BaaS-platformOpen Dashboard →

Aurabase / benchmarks

Benchmarks

Tests in de echte wereld op de volledige stapel — Roest poort + NATS + PostgreSQL

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

Gemeten in lokale Docker (ontwikkelaarsmachine, Apple Silicon). Broncode van benchmarks beschikbaar in /benchmarks

02 — Read latency p95

p95 read latency by concurrency level (ms)

Supabase en Appwrite: schattingen op basis van gepubliceerde benchmarks en GitHub-problemen. Groene lijn = 200 ms SLO.

SLO 200 ms1002003004005000mevrouw10 VUs50 VUs100 VUsAurabaseSupabaseAppwrite

03 — API overhead vs direct PostgreSQL

Sequential throughput (ops/s) — full stack vs direct PG query

1.000 opeenvolgende iteraties, lokale Docker-verbinding. Overhead is structureel: gateway → NATS → db-service → PostgREST → PG.

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

Opmerking over gefilterd (2,6×): De gefilterde query (ORDER BY + WHERE) duurt 2,35 ms bij directe PG versus 0,3 ms voor andere, waardoor de schijnbare overheadratio mechanisch wordt gecomprimeerd.

04 — Competitor comparison

Competitive benchmark — self-hosted stack under real conditions

PocketBase/TrailBase: SQLite (enkel proces, geen netwerk-DB). Supabase: lokale stapelschattingen. Appwrite: officiële TTL-benchmark.

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
SLO-doel < 200 ms p95✓ 10 VU's, 50 VU's slagen — 100 VU's onder druk (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.

Tests uitgevoerd op 29 mei 2026 · Stack: Rust 1.87 · PostgreSQL 16 · k6 v2.0 · Criterion.rs 0.5 · Concurrentiegegevens afkomstig van officieel gepubliceerde benchmarks.