PRODSovereign European BaaS platformOpen Dashboard →

Aurabase / benchmarks

Benchmarks

Real-world tests on the full stack — Rust gateway + NATS + PostgreSQL

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

Measured in local Docker (dev machine, Apple Silicon). Source code of benchmarks available in /benchmarks

02 — Read latency p95

p95 read latency by concurrency level (ms)

Supabase and Appwrite: estimates based on published benchmarks and GitHub issues. Green line = 200ms SLO.

SLO 200ms1002003004005000ms10 VUs50 VUs100 VUsAurabaseSupabaseAppwrite

03 — API overhead vs direct PostgreSQL

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

1,000 sequential iterations, local Docker connection. Overhead is structural: 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 on filtered (2.6×): The filtered query (ORDER BY + WHERE) takes 2.35ms in direct PG vs 0.3ms for others, which mechanically compresses the apparent overhead ratio.

04 — Competitor comparison

Competitive benchmark — self-hosted stack under real conditions

PocketBase/TrailBase: SQLite (single-process, no network DB). Supabase: local stack estimates. Appwrite: official 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 target < 200ms p95✓ 10 VUs, 50 VUs pass — 100 VUs under pressure (174.8ms)

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 performed on May 29, 2026 · Stack: Rust 1.87 · PostgreSQL 16 · k6 v2.0 · Criterion.rs 0.5 · Competitor data sourced from official published benchmarks.