Benchmarked13/13 Passing

Performance Benchmarks

Full test suite results at 100,000 documents — CRUD, queries, transactions, HTTP API, TCP, crash recovery, and MCP. Every number from npm test.

AMD Ryzen 5 5500U6C / 12T @ 2.1 GHz7.1 GB DDR4Ubuntu Linux 6.8.0Node v26.8.1September 5, 2026
Indexed Query

1-2 ms

Constant across all sizes

Doc ID Lookup

<1 ms

Direct file-per-doc read

Cache Hit

<1 ms

In-memory cached result

Test Coverage

278 tests

13 suites, all passing

Test Suite Overview

All 13 test suites at 100K documents. Each suite runs in an isolated child process.

CRUD Operations30 tests
3.7 s
Transactions22 tests
625 ms
Read / Query40 tests
146.8 s
Aggregation50 tests
458 ms
Auth & RBAC32 tests
6.0 s
HTTP API38 tests
1.5 s
TCP Auth20 tests
2.7 s
TCP No-Auth6 tests
627 ms
TCP Transactions17 tests
1.4 s
TCP TLS3 tests
641 ms
Crash Recovery3 tests
5.7 s
MCP Confirm11 tests
40 ms
MCP Functional6 tests
1.7 s

Query Scaling (1K - 100K)

How read operations scale across dataset sizes. All timings in milliseconds.

DatasetIndexedDoc ID$gt$gte/$lte$in (5)$in (50)Limit 5RegexSortFull Scan
1K docs1 ms<1 ms61 ms50 ms41 ms76 ms73 ms79 ms57 ms72 ms
5K docs2 ms<1 ms97 ms89 ms55 ms235 ms173 ms229 ms105 ms241 ms
10K docs1 ms1 ms174 ms111 ms85 ms455 ms267 ms466 ms171 ms333 ms
50K docs2 ms1 ms657 ms631 ms251 ms1,278 ms1,111 ms1,150 ms760 ms1,050 ms
100K docs1 ms1 ms1,123 ms807 ms533 ms2,047 ms1,709 ms1,959 ms1,217 ms1,781 ms
Speed:Lightning (≤2 ms)Fast (≤100 ms)Moderate (≤300 ms)Slow (≤1 s)Heavy (>1 s)

Scaling Behavior

How each query operation scales from 1K to 100K documents.

IndexedExact match on indexed field
1K
1 ms
5K
2 ms
10K
1 ms
50K
2 ms
100K
1 ms
Doc IDDirect documentId lookup
1K
<1 ms
5K
<1 ms
10K
1 ms
50K
1 ms
100K
1 ms
$gtGreater-than range scan
1K
61 ms
5K
97 ms
10K
174 ms
50K
657 ms
100K
1,123 ms
$gte/$lteCombined range boundary
1K
50 ms
5K
89 ms
10K
111 ms
50K
631 ms
100K
807 ms
$in (5)In-operator, 5 values
1K
41 ms
5K
55 ms
10K
85 ms
50K
251 ms
100K
533 ms
$in (50)In-operator, 50 values
1K
76 ms
5K
235 ms
10K
455 ms
50K
1,278 ms
100K
2,047 ms
Limit 5Small limit query
1K
73 ms
5K
173 ms
10K
267 ms
50K
1,111 ms
100K
1,709 ms
RegexPattern matching
1K
79 ms
5K
229 ms
10K
466 ms
50K
1,150 ms
100K
1,959 ms
SortSorted range query
1K
57 ms
5K
105 ms
10K
171 ms
50K
760 ms
100K
1,217 ms
Full ScanCollection scan (10K cap)
1K
72 ms
5K
241 ms
10K
333 ms
50K
1,050 ms
100K
1,781 ms

Operation Breakdown

Individual operation timings from every test suite at 100K documents.

CRUD Operations

Insert Single1 document
31 ms
InsertMany (500 docs)batch insert
365 ms
Find by Indexexact match
3 ms
Find by documentIddirect lookup
<1 ms
Find $gtrange scan
55 ms
Find $inset lookup
2 ms
Find $ne / $ninnegation
56 ms
Find Limit/Skip/Sortpagination
70 ms
findOnefirst match
<1 ms
Update Single1 document
35 ms
Update Multiplebatch update
326 ms
Delete Single1 document
28 ms
Delete Multiplebatch delete
144 ms

Transactions (ACID)

Insert + Commit
38 ms
Update + Commit
32 ms
Delete + Commit
44 ms
Mixed Operations
46 ms
Rollback
8 ms
Savepoint Create + Rollback
24 ms
withTransaction (auto-commit)
21 ms
Index sync after commit
20 ms

HTTP API Endpoints

POST /auth/login
92 ms
PATCH /auth/change-password
127 ms
GET /db/databases
35 ms
POST /db/create-database
2 ms
POST /operation/create/
35 ms
GET /operation/all/by-id/
3 ms
POST /operation/all/by-query/
12 ms
PUT /operation/update/by-id/
26 ms
DELETE /operation/delete/by-id/
29 ms
POST /operation/create-many/
31 ms
POST /operation/aggregate/
4 ms
GET /dashboard-stats
34 ms

TCP / AxioDBCloud

Auth + CRUDauthenticated
40 ms
Connection Pool (10)pool init
184 ms
Custom Pool Sizepool init
84 ms
TLS CRUDencrypted
93 ms
Rate Limit Lockoutper-IP
101 ms
Disconnect Auto-Rollbacksafety
509 ms
Index Hint via TCPquery hint
82 ms

Crash Recovery

SIGKILL during insertsrecovers cleanly
1,722 ms
SIGKILL during updatesvalid before/after
1,936 ms
SIGKILL during indexed insertsindex consistent
2,030 ms

MCP Server (AI)

DB / Collection / Document
214 ms
Transaction handlers
7 ms
User / Role / Dashboard
889 ms

Key Takeaways

Indexed = O(1) constant time

Indexed and documentId lookups stay at 1-2 ms whether the collection has 1K or 100K docs. Each lookup reads exactly one file from disk.

ACID transactions stay fast

Single-operation transactions (insert/update/delete + commit) complete in 32-44 ms. Rollback is just 8 ms.

HTTP API is lightweight

CRUD via HTTP endpoints adds minimal overhead — insert is 35 ms, read by ID is 3 ms, query is 12 ms.

Cache eliminates repeat reads

First query hits disk; subsequent identical queries return from InMemoryCache in under 1 ms. Random TTL between 5-15 minutes.

TCP with connection pooling

10-connection pool initializes in 184 ms. TLS CRUD adds encryption overhead but stays under 100 ms per operation.

Crash-safe recovery

SIGKILL during rapid writes recovers cleanly — no corrupted documents. Recovery scans WAL + registry in ~2 seconds.

Full scan scales linearly

From 72 ms at 1K to 1,781 ms at 100K — linear scaling expected for file-per-document scans.

$in uses Set O(1) lookup

Set-optimized $in at 100K: 2,047 ms for 50 values. The value array is converted to a Set for constant-time checks.

MCP for AI agents

Full MCP server handles DB/collection/document/transaction/user/role operations. Functional tests complete in 1.7 seconds.

Methodology

Each dataset size runs the full npm test suite — 13 test suites in isolated child processes
Timings captured from real test output logs — end-to-end execution including index lookup, file I/O, and filtering
Data generated with fixtures.generateUsers(N) — names, emails, ages (20-69 cycling), consistent across all sizes
Indexes created on name, email, and age fields before dataset insertion
File-per-document storage with JSONL registries, dual-write indexes, and random TTL cache (5-15 min)
No warm-up runs discarded — first-run timings included, reflecting real cold-start behavior