BonsaiDb Commerce Benchmark

large, writeheavy, 4 agent(s)

Configuration

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

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

Operation Invocations
Load 1
LookupProduct 2676
FindProduct 2815
CreateCart 987
AddProductToCart 4951
Checkout 876
RateProduct 3918

Summary

Backend Total Time Wall Time Transport
bonsaidb-local 50.76s 12.69s None
bonsaidb-local+lz4 52.10s 13.02s TCP
bonsaidb-quic 51.16s 12.79s UDP with TLS
bonsaidb-ws 52.77s 13.19s TCP
postgresql 88.48s 22.12s 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 1.378s 1.378s 1.378s 0s 0
bonsaidb-local+lz4 1.334s 1.334s 1.334s 0s 0
bonsaidb-quic 1.399s 1.399s 1.399s 0s 0
bonsaidb-ws 1.429s 1.429s 1.429s 0s 0
postgresql 25.78s 25.78s 25.78s 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 2676 time(s) across each backend.

Backend Avg Min Max StdDev Outliers
bonsaidb-local 133.7us 69.75us 3.299ms 94.54us 5
bonsaidb-local+lz4 135.2us 80.29us 3.332ms 93.53us 5
bonsaidb-quic 584.6us 421.4us 7.446ms 198.5us 5
bonsaidb-ws 440.5us 323.8us 3.737ms 102.1us 10
postgresql 4.110ms 410.8us 44.95ms 3.772ms 13
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 2815 time(s) across each backend.

Backend Avg Min Max StdDev Outliers
bonsaidb-local 252.5us 122.4us 3.280ms 117.0us 19
bonsaidb-local+lz4 258.4us 129.4us 5.616ms 139.1us 3
bonsaidb-quic 932.7us 724.4us 7.460ms 204.2us 13
bonsaidb-ws 718.9us 554.3us 3.476ms 108.9us 10
postgresql 4.199ms 489.6us 43.53ms 3.405ms 11
CreateCart

Measures the time spent creating a shopping cart.

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

Backend Avg Min Max StdDev Outliers
bonsaidb-local 2.797ms 739.2us 13.27ms 1.224ms 14
bonsaidb-local+lz4 2.845ms 786.9us 14.14ms 1.057ms 13
bonsaidb-quic 2.263ms 956.1us 18.18ms 1.063ms 9
bonsaidb-ws 2.499ms 859.0us 19.06ms 1.055ms 11
postgresql 994.1us 639.1us 7.097ms 373.6us 13
AddProductToCart

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

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

Backend Avg Min Max StdDev Outliers
bonsaidb-local 2.928ms 835.9us 19.49ms 1.225ms 65
bonsaidb-local+lz4 3.051ms 813.8us 20.03ms 1.204ms 59
bonsaidb-quic 2.657ms 1.093ms 34.81ms 1.179ms 62
bonsaidb-ws 2.750ms 1.061ms 12.67ms 954.2us 66
postgresql 953.3us 555.2us 9.942ms 407.5us 66
Checkout

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

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

Backend Avg Min Max StdDev Outliers
bonsaidb-local 5.240ms 2.044ms 13.79ms 1.745ms 8
bonsaidb-local+lz4 5.325ms 1.791ms 23.58ms 1.587ms 9
bonsaidb-quic 5.143ms 2.745ms 22.18ms 1.355ms 12
bonsaidb-ws 5.515ms 2.597ms 11.38ms 1.399ms 12
postgresql 1.408ms 937.4us 34.58ms 1.192ms 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 3918 time(s) across each backend.

Backend Avg Min Max StdDev Outliers
bonsaidb-local 6.754ms 2.249ms 22.38ms 2.113ms 23
bonsaidb-local+lz4 6.915ms 2.339ms 21.15ms 1.897ms 27
bonsaidb-quic 6.553ms 2.719ms 37.81ms 1.891ms 45
bonsaidb-ws 6.949ms 2.462ms 24.53ms 2.054ms 30
postgresql 8.407ms 3.190ms 46.15ms 3.951ms 24