BonsaiDb Commerce Benchmark

small, balanced, 1 agent(s)

Configuration

Initial Data Set
Type Count
Products 100
Categories 10
Customers 100
Orders 125
Shopping Plans

This run executed 1000 shopping plans across 1 worker(s). All total, the workers will execute the following breakdown of operations:

Operation Invocations
Load 1
LookupProduct 2768
FindProduct 2860
CreateCart 708
AddProductToCart 1436
Checkout 177
RateProduct 95

Summary

Backend Total Time Wall Time Transport
bonsaidb-local 20.91s 20.91s None
bonsaidb-local+lz4 20.63s 20.63s TCP
bonsaidb-quic 24.88s 24.88s UDP with TLS
bonsaidb-ws 24.39s 24.39s TCP
mongodb 3.095s 3.095s TCP
postgresql 7.625s 7.625s TCP
Table of Contents:

Operation Results

Load

Measures the time spent loading the initial data set and performing any pre-cache operations that most database administrators would perform on their databases periodically to ensure good performance.

This operation was executed 1 time(s) across each backend.

Backend Avg Min Max StdDev Outliers
bonsaidb-local 68.79ms 68.79ms 68.79ms 0s 0
bonsaidb-local+lz4 48.95ms 48.95ms 48.95ms 0s 0
bonsaidb-quic 81.75ms 81.75ms 81.75ms 0s 0
bonsaidb-ws 60.24ms 60.24ms 60.24ms 0s 0
mongodb 9.054ms 9.054ms 9.054ms 0s 0
postgresql 279.8ms 279.8ms 279.8ms 0s 0
LookupProduct

Meaures the time spent looking up a product by its id. This operation is meant to simulate the basic needs of the database to provide a product details page after a user clicked a direct link that contians the product's unique id, including the product's current rating.

This operation was executed 2768 time(s) across each backend.

Backend Avg Min Max StdDev Outliers
bonsaidb-local 135.5us 32.29us 402.6us 54.86us 25
bonsaidb-local+lz4 141.1us 41.83us 494.2us 48.08us 23
bonsaidb-quic 602.6us 267.2us 1.196ms 141.8us 8
bonsaidb-ws 476.7us 206.2us 2.039ms 128.9us 15
mongodb 405.0us 230.8us 2.219ms 85.68us 15
postgresql 332.2us 130.5us 1.784ms 133.0us 66
FindProduct

Measures the time spent looking up a product by its name (exact match, indexed). This operation is meant to simulate the basic needs of the database to provide a product details after finding a product by its name, including the product's current rating.

This operation was executed 2860 time(s) across each backend.

Backend Avg Min Max StdDev Outliers
bonsaidb-local 253.4us 53.43us 8.143ms 192.1us 5
bonsaidb-local+lz4 250.7us 81.44us 11.72ms 241.7us 3
bonsaidb-quic 967.1us 392.6us 9.960ms 296.1us 10
bonsaidb-ws 784.5us 297.7us 7.779ms 276.0us 11
mongodb 448.4us 258.2us 2.079ms 86.00us 30
postgresql 375.0us 135.7us 2.006ms 158.5us 74
CreateCart

Measures the time spent creating a shopping cart.

This operation was executed 708 time(s) across each backend.

Backend Avg Min Max StdDev Outliers
bonsaidb-local 7.093ms 5.256ms 32.59ms 2.015ms 10
bonsaidb-local+lz4 7.093ms 5.666ms 58.20ms 2.770ms 4
bonsaidb-quic 7.368ms 5.842ms 47.06ms 2.391ms 6
bonsaidb-ws 7.474ms 5.814ms 33.77ms 2.347ms 11
mongodb 201.4us 105.3us 408.2us 42.16us 11
postgresql 2.062ms 1.583ms 54.75ms 2.029ms 1
AddProductToCart

Measures the time spent adding a product to a shopping cart.

This operation was executed 1436 time(s) across each backend.

Backend Avg Min Max StdDev Outliers
bonsaidb-local 7.367ms 5.535ms 143.5ms 5.466ms 5
bonsaidb-local+lz4 7.139ms 5.510ms 103.7ms 3.043ms 6
bonsaidb-quic 7.686ms 6.116ms 72.33ms 2.826ms 7
bonsaidb-ws 7.907ms 5.916ms 133.3ms 5.759ms 5
mongodb 254.1us 144.5us 1.912ms 68.44us 7
postgresql 1.994ms 1.499ms 11.17ms 664.3us 38
Checkout

Measures the time spent converting a shopping cart into an order for a customer.

This operation was executed 177 time(s) across each backend.

Backend Avg Min Max StdDev Outliers
bonsaidb-local 15.53ms 11.67ms 193.8ms 13.84ms 1
bonsaidb-local+lz4 14.02ms 11.68ms 29.85ms 2.390ms 4
bonsaidb-quic 14.66ms 12.64ms 26.94ms 2.142ms 4
bonsaidb-ws 15.06ms 12.67ms 41.77ms 2.964ms 3
mongodb 457.9us 272.7us 1.862ms 138.5us 2
postgresql 2.400ms 1.885ms 5.960ms 522.6us 4
RateProduct

Measures the time spent adding or updating a review of a product by a customer. Each customer can only have one review per product. When this operation is complete, all subsequent calls to LookupProduct and FindProduct should reflect the new rating. This simulates an 'upsert' (insert or update) operation using a unique index.

This operation was executed 95 time(s) across each backend.

Backend Avg Min Max StdDev Outliers
bonsaidb-local 14.67ms 12.88ms 24.27ms 2.025ms 3
bonsaidb-local+lz4 18.09ms 12.21ms 231.5ms 23.12ms 1
bonsaidb-quic 15.99ms 12.95ms 40.86ms 4.282ms 2
bonsaidb-ws 15.33ms 13.04ms 24.54ms 1.617ms 2
mongodb 983.3us 396.7us 27.03ms 2.704ms 1
postgresql 6.374ms 4.351ms 72.04ms 6.851ms 1