BonsaiDb Commerce Benchmark

medium, balanced, 8 agent(s)

Configuration

Initial Data Set
Type Count
Products 1000
Categories 50
Customers 1000
Orders 1500
Shopping Plans

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

Operation Invocations
Load 1
LookupProduct 2824
FindProduct 2760
CreateCart 723
AddProductToCart 1379
Checkout 200
RateProduct 96

Summary

Backend Total Time Wall Time Transport
bonsaidb-local 315.9s 39.49s None
bonsaidb-local+lz4 292.2s 36.53s TCP
bonsaidb-quic 293.8s 36.72s UDP with TLS
bonsaidb-ws 312.1s 39.01s TCP
mongodb 5.915s 739.4ms TCP
postgresql 28.17s 3.522s 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 256.9ms 256.9ms 256.9ms 0s 0
bonsaidb-local+lz4 309.5ms 309.5ms 309.5ms 0s 0
bonsaidb-quic 307.4ms 307.4ms 307.4ms 0s 0
bonsaidb-ws 383.1ms 383.1ms 383.1ms 0s 0
mongodb 43.39ms 43.39ms 43.39ms 0s 0
postgresql 2.018s 2.018s 2.018s 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 2824 time(s) across each backend.

Backend Avg Min Max StdDev Outliers
bonsaidb-local 225.2us 40.65us 18.28ms 752.7us 6
bonsaidb-local+lz4 228.9us 40.40us 17.79ms 737.9us 6
bonsaidb-quic 723.0us 263.4us 23.53ms 989.6us 7
bonsaidb-ws 604.2us 233.8us 19.85ms 815.6us 5
mongodb 782.4us 255.7us 17.32ms 666.0us 23
postgresql 1.288ms 162.2us 29.30ms 2.756ms 77
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 2760 time(s) across each backend.

Backend Avg Min Max StdDev Outliers
bonsaidb-local 356.0us 66.24us 18.58ms 617.8us 5
bonsaidb-local+lz4 377.6us 82.85us 17.60ms 609.8us 10
bonsaidb-quic 1.103ms 389.6us 23.22ms 797.7us 9
bonsaidb-ws 933.4us 369.2us 19.79ms 677.4us 7
mongodb 832.7us 268.3us 19.44ms 628.7us 19
postgresql 1.486ms 190.5us 33.37ms 3.063ms 67
CreateCart

Measures the time spent creating a shopping cart.

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

Backend Avg Min Max StdDev Outliers
bonsaidb-local 117.2ms 17.44ms 216.8ms 17.82ms 8
bonsaidb-local+lz4 107.9ms 16.95ms 240.7ms 19.52ms 14
bonsaidb-quic 105.6ms 17.69ms 179.2ms 16.39ms 8
bonsaidb-ws 113.6ms 19.16ms 698.3ms 42.07ms 4
mongodb 377.5us 111.7us 10.99ms 482.2us 5
postgresql 6.555ms 3.896ms 20.76ms 1.737ms 11
AddProductToCart

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

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

Backend Avg Min Max StdDev Outliers
bonsaidb-local 118.8ms 31.09ms 176.5ms 16.66ms 15
bonsaidb-local+lz4 110.3ms 26.25ms 282.6ms 21.55ms 33
bonsaidb-quic 109.7ms 31.01ms 174.9ms 14.55ms 12
bonsaidb-ws 115.8ms 33.49ms 706.1ms 34.15ms 7
mongodb 466.1us 146.6us 4.961ms 336.1us 21
postgresql 7.468ms 3.898ms 22.58ms 1.818ms 28
Checkout

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

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

Backend Avg Min Max StdDev Outliers
bonsaidb-local 221.1ms 65.65ms 280.4ms 28.45ms 3
bonsaidb-local+lz4 205.5ms 45.37ms 320.1ms 33.80ms 6
bonsaidb-quic 205.0ms 56.68ms 266.7ms 26.13ms 3
bonsaidb-ws 223.2ms 61.54ms 794.8ms 65.81ms 3
mongodb 815.0us 321.1us 2.665ms 393.5us 4
postgresql 7.656ms 4.159ms 21.13ms 2.121ms 3
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 96 time(s) across each backend.

Backend Avg Min Max StdDev Outliers
bonsaidb-local 220.6ms 112.3ms 301.7ms 32.53ms 1
bonsaidb-local+lz4 198.2ms 109.7ms 330.0ms 38.16ms 3
bonsaidb-quic 205.3ms 138.1ms 319.8ms 31.59ms 1
bonsaidb-ws 218.3ms 157.3ms 479.7ms 47.28ms 2
mongodb 2.967ms 599.0us 109.2ms 11.90ms 2
postgresql 19.23ms 12.42ms 31.88ms 4.200ms 1