BonsaiDb Commerce Benchmark

small, writeheavy, 8 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 8 worker(s). All total, the workers will execute the following breakdown of operations:

Operation Invocations
Load 1
LookupProduct 2747
FindProduct 2893
CreateCart 988
AddProductToCart 5053
Checkout 892
RateProduct 4133

Summary

Backend Total Time Wall Time Transport
bonsaidb-local 83.50s 10.44s None
bonsaidb-local+lz4 78.97s 9.872s TCP
bonsaidb-quic 87.96s 11.00s UDP with TLS
bonsaidb-ws 84.80s 10.60s TCP
postgresql 67.92s 8.490s 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 30.69ms 30.69ms 30.69ms 0s 0
bonsaidb-local+lz4 30.21ms 30.21ms 30.21ms 0s 0
bonsaidb-quic 35.39ms 35.39ms 35.39ms 0s 0
bonsaidb-ws 33.70ms 33.70ms 33.70ms 0s 0
postgresql 292.8ms 292.8ms 292.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 2747 time(s) across each backend.

Backend Avg Min Max StdDev Outliers
bonsaidb-local 126.8us 61.74us 1.792ms 69.15us 6
bonsaidb-local+lz4 133.9us 61.73us 1.973ms 77.24us 8
bonsaidb-quic 598.6us 390.2us 7.755ms 287.1us 10
bonsaidb-ws 444.0us 306.9us 3.266ms 129.3us 15
postgresql 5.027ms 277.9us 48.55ms 3.362ms 23
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 2893 time(s) across each backend.

Backend Avg Min Max StdDev Outliers
bonsaidb-local 232.6us 115.9us 2.367ms 81.66us 14
bonsaidb-local+lz4 245.0us 128.2us 1.972ms 79.88us 10
bonsaidb-quic 942.3us 677.0us 8.042ms 290.5us 8
bonsaidb-ws 722.0us 497.1us 4.758ms 149.8us 20
postgresql 5.237ms 472.6us 48.35ms 3.319ms 22
CreateCart

Measures the time spent creating a shopping cart.

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

Backend Avg Min Max StdDev Outliers
bonsaidb-local 4.966ms 1.214ms 39.10ms 2.573ms 17
bonsaidb-local+lz4 4.641ms 1.086ms 21.02ms 1.420ms 14
bonsaidb-quic 4.732ms 1.086ms 17.89ms 1.575ms 12
bonsaidb-ws 4.624ms 1.194ms 17.70ms 1.585ms 15
postgresql 1.246ms 652.2us 15.49ms 679.2us 8
AddProductToCart

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

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

Backend Avg Min Max StdDev Outliers
bonsaidb-local 4.925ms 1.405ms 50.66ms 2.591ms 55
bonsaidb-local+lz4 4.575ms 938.3us 42.36ms 1.738ms 36
bonsaidb-quic 4.876ms 1.315ms 23.80ms 1.422ms 70
bonsaidb-ws 4.688ms 1.174ms 16.21ms 1.462ms 81
postgresql 1.197ms 545.1us 34.48ms 848.7us 40
Checkout

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

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

Backend Avg Min Max StdDev Outliers
bonsaidb-local 9.020ms 2.982ms 73.44ms 4.611ms 11
bonsaidb-local+lz4 8.477ms 3.327ms 28.08ms 2.299ms 9
bonsaidb-quic 9.415ms 4.264ms 16.60ms 1.785ms 8
bonsaidb-ws 9.314ms 3.416ms 22.98ms 2.203ms 16
postgresql 1.676ms 934.5us 6.986ms 572.1us 13
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 4133 time(s) across each backend.

Backend Avg Min Max StdDev Outliers
bonsaidb-local 10.79ms 2.247ms 90.87ms 4.742ms 50
bonsaidb-local+lz4 10.31ms 1.996ms 47.85ms 2.891ms 40
bonsaidb-quic 11.09ms 2.636ms 28.61ms 2.009ms 39
bonsaidb-ws 10.86ms 2.597ms 28.96ms 2.299ms 63
postgresql 7.233ms 2.103ms 53.08ms 2.941ms 27