tests/e2e: iteration-to-iteration benchmark harness
compare-run.sh answers "how do we compare to MongoDB"; it says nothing
about whether a change made things better or worse than last week. Add a
harness that records each run and diffs it against the previous one.
bench-run.sh wraps compare-run.sh, adds a concurrent durable-write
comparison (concurrent.js: N clients each doing sequential insertOne with
{w:1, j:true}, exercising the group-commit path under real contention),
writes a versioned name<TAB>value report to results/bench-<timestamp>.txt,
and prints a diff of our numbers against results/bench-latest.txt.
Also:
- compare-run.sh polled with fixed sleeps, which are flaky once earlier
benchmark phases have warmed the machine; both servers now wait on a
real driver connection instead.
- a dispatch error only reached the client as a generic InternalError,
with nothing on the server side naming the failing command; log the
connection, command and error name before replacing the reply.
This commit is contained in:
36
tests/e2e/results/bench-latest.txt
Normal file
36
tests/e2e/results/bench-latest.txt
Normal file
@@ -0,0 +1,36 @@
|
||||
# mongo-lite vs MongoDB benchmark
|
||||
# date: 2026-08-03T08:53:32Z git: c8d547f+dirty
|
||||
# args: size=1g doc-size=16k wc=j clients=1 4 8 16 32 per-client=2000
|
||||
# reproduce: bash tests/e2e/bench-run.sh 1g 16k "1 4 8 16 32"
|
||||
|
||||
[main]
|
||||
insertOne (sequential) ×200 0.20 ms 14.8 ms
|
||||
bulk insert throughput 732.4 MB/s 546.2 MB/s
|
||||
docs loaded 65,536 65,536
|
||||
createIndex({k: 1}) 74.4 ms 83.6 ms
|
||||
countDocuments({}) 3.1 ms 12.4 ms
|
||||
findOne({_id: <ObjectId>}) 0.59 ms 0.61 ms
|
||||
findOne({k: 500}) (indexed) 0.56 ms 0.94 ms
|
||||
find({p: {$gte,$lt}}).count() (scan) 13.0 ms 15.0 ms
|
||||
find({}).sort({_id:-1}).limit(20) 2.2 ms 2.2 ms
|
||||
find({}, {proj}).limit(1000) 3.5 ms 4.4 ms
|
||||
aggregate $group by k 8.3 ms 13.2 ms
|
||||
updateOne({_id}) ×50 0.14 ms 0.20 ms
|
||||
updateMany({k: 7}, {$inc}) 1.9 ms 6.4 ms
|
||||
deleteOne({_id}) + insertOne 0.58 ms 4.9 ms
|
||||
node client RSS 158 MB 157 MB
|
||||
|
||||
[concurrency]
|
||||
clients 1 8435 232 36.4x
|
||||
clients 4 22480 491 45.8x
|
||||
clients 8 25920 966 26.8x
|
||||
clients 16 31079 1842 16.9x
|
||||
clients 32 34041 3632 9.4x
|
||||
|
||||
[meta]
|
||||
ml_rss_mb 553
|
||||
md_rss_mb 1486
|
||||
ml_reopen 0.8s
|
||||
md_reopen 1.3s
|
||||
ml_disk_mb 97MB
|
||||
md_disk_mb 106MB
|
||||
Reference in New Issue
Block a user