BonsaiDb Commerce Benchmark

large, writeheavy, 8 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 8 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 96.15s 12.02s None
bonsaidb-local+lz4 88.80s 11.10s TCP
bonsaidb-quic 88.39s 11.05s UDP with TLS
bonsaidb-ws 91.73s 11.47s TCP
postgresql 144.6s 18.07s 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.310s 1.310s 1.310s 0s 0
bonsaidb-local+lz4 1.322s 1.322s 1.322s 0s 0
bonsaidb-quic 1.389s 1.389s 1.389s 0s 0
bonsaidb-ws 1.398s 1.398s 1.398s 0s 0
postgresql 25.76s 25.76s 25.76s 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 139.0us 70.40us 3.496ms 118.5us 5
bonsaidb-local+lz4 139.5us 73.93us 3.946ms 114.3us 4
bonsaidb-quic 583.4us 417.4us 9.812ms 261.5us 2
bonsaidb-ws 451.9us 324.7us 4.672ms 166.6us 13
postgresql 10.32ms 490.5us 39.49ms 5.985ms 32
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 259.9us 136.6us 3.450ms 161.7us 11
bonsaidb-local+lz4 265.0us 134.8us 3.044ms 143.8us 10
bonsaidb-quic 942.8us 682.9us 9.526ms 382.4us 6
bonsaidb-ws 738.7us 498.1us 4.674ms 237.7us 17
postgresql 10.95ms 673.9us 39.54ms 6.091ms 39
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 5.816ms 1.673ms 17.41ms 1.857ms 9
bonsaidb-local+lz4 5.468ms 962.3us 20.64ms 1.730ms 10
bonsaidb-quic 4.833ms 1.397ms 14.48ms 1.458ms 19
bonsaidb-ws 5.084ms 1.096ms 15.95ms 1.542ms 14
postgresql 1.212ms 616.9us 12.35ms 707.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 5.843ms 1.159ms 28.36ms 2.039ms 41
bonsaidb-local+lz4 5.381ms 1.190ms 18.85ms 1.704ms 53
bonsaidb-quic 5.033ms 1.363ms 15.64ms 1.455ms 73
bonsaidb-ws 5.236ms 1.268ms 121.0ms 2.830ms 25
postgresql 1.103ms 558.1us 7.918ms 533.6us 69
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 10.65ms 2.571ms 26.87ms 3.177ms 5
bonsaidb-local+lz4 9.801ms 3.096ms 20.32ms 2.614ms 5
bonsaidb-quic 9.940ms 3.090ms 18.75ms 2.065ms 3
bonsaidb-ws 10.23ms 3.822ms 37.16ms 2.328ms 6
postgresql 1.421ms 910.7us 6.096ms 477.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 3918 time(s) across each backend.

Backend Avg Min Max StdDev Outliers
bonsaidb-local 12.69ms 2.338ms 35.23ms 3.355ms 32
bonsaidb-local+lz4 11.67ms 2.306ms 28.36ms 2.807ms 28
bonsaidb-quic 11.33ms 3.018ms 21.10ms 2.049ms 42
bonsaidb-ws 12.03ms 2.733ms 127.2ms 5.117ms 19
postgresql 13.39ms 3.936ms 32.16ms 4.259ms 20