BonsaiDb Commerce Benchmark

medium, writeheavy, 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 2721
FindProduct 2726
CreateCart 994
AddProductToCart 4911
Checkout 887
RateProduct 3927

Summary

Backend Total Time Wall Time Transport
bonsaidb-local 80.84s 10.10s None
bonsaidb-local+lz4 75.41s 9.426s TCP
bonsaidb-quic 84.84s 10.60s UDP with TLS
bonsaidb-ws 89.36s 11.17s TCP
postgresql 94.02s 11.75s 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 285.6ms 285.6ms 285.6ms 0s 0
bonsaidb-local+lz4 279.9ms 279.9ms 279.9ms 0s 0
bonsaidb-quic 298.9ms 298.9ms 298.9ms 0s 0
bonsaidb-ws 333.0ms 333.0ms 333.0ms 0s 0
postgresql 4.188s 4.188s 4.188s 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 2721 time(s) across each backend.

Backend Avg Min Max StdDev Outliers
bonsaidb-local 139.5us 79.52us 2.914ms 123.2us 9
bonsaidb-local+lz4 142.1us 69.94us 2.457ms 102.9us 8
bonsaidb-quic 603.0us 407.2us 8.180ms 325.5us 6
bonsaidb-ws 458.6us 314.8us 5.406ms 196.0us 13
postgresql 7.540ms 348.3us 55.83ms 6.119ms 44
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 2726 time(s) across each backend.

Backend Avg Min Max StdDev Outliers
bonsaidb-local 253.1us 100.2us 2.599ms 104.8us 16
bonsaidb-local+lz4 262.6us 138.2us 4.195ms 117.3us 6
bonsaidb-quic 950.2us 694.6us 8.260ms 265.9us 7
bonsaidb-ws 740.9us 536.2us 4.244ms 170.5us 34
postgresql 7.700ms 488.2us 56.17ms 5.631ms 37
CreateCart

Measures the time spent creating a shopping cart.

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

Backend Avg Min Max StdDev Outliers
bonsaidb-local 5.121ms 1.270ms 36.88ms 2.142ms 5
bonsaidb-local+lz4 4.540ms 1.257ms 14.97ms 1.346ms 10
bonsaidb-quic 4.671ms 1.459ms 63.16ms 2.330ms 3
bonsaidb-ws 5.012ms 1.093ms 32.90ms 2.164ms 15
postgresql 1.297ms 611.9us 41.56ms 1.927ms 3
AddProductToCart

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

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

Backend Avg Min Max StdDev Outliers
bonsaidb-local 4.955ms 1.154ms 36.98ms 1.869ms 67
bonsaidb-local+lz4 4.566ms 1.239ms 91.49ms 2.240ms 7
bonsaidb-quic 4.905ms 1.371ms 64.20ms 2.037ms 22
bonsaidb-ws 5.157ms 1.491ms 105.4ms 3.150ms 20
postgresql 1.221ms 558.5us 50.01ms 1.769ms 9
Checkout

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

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

Backend Avg Min Max StdDev Outliers
bonsaidb-local 9.024ms 2.369ms 42.54ms 2.742ms 6
bonsaidb-local+lz4 8.302ms 1.930ms 17.51ms 2.166ms 7
bonsaidb-quic 9.469ms 3.697ms 30.03ms 2.074ms 5
bonsaidb-ws 10.05ms 4.173ms 35.31ms 3.039ms 13
postgresql 1.661ms 964.8us 48.92ms 2.082ms 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 3927 time(s) across each backend.

Backend Avg Min Max StdDev Outliers
bonsaidb-local 10.71ms 2.076ms 42.39ms 2.635ms 41
bonsaidb-local+lz4 10.12ms 2.187ms 96.81ms 4.228ms 6
bonsaidb-quic 10.99ms 2.578ms 75.29ms 2.982ms 27
bonsaidb-ws 11.85ms 2.932ms 113.8ms 5.033ms 35
postgresql 10.08ms 2.991ms 50.92ms 5.018ms 59