BonsaiDb Commerce Benchmark

Commerce Benchmark

Configuration

Initial Data Set
Type Count
Products 166
Categories 25
Customers 408
Orders 236
Shopping Plans

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

Operation Invocations
Load 1
LookupProduct 5369
FindProduct 5358
CreateCart 861
AddProductToCart 2629
Checkout 223
RateProduct 182

Summary

Backend Total Time Wall Time Transport
bonsaidb-local 44.91s 2.807s None
bonsaidb-local+lz4 46.06s 2.879s TCP
bonsaidb-quic 44.46s 2.779s UDP with TLS
bonsaidb-ws 45.11s 2.820s TCP
postgresql 18.25s 1.141s 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 46.41ms 46.41ms 46.41ms 0s 0
bonsaidb-local+lz4 48.63ms 48.63ms 48.63ms 0s 0
bonsaidb-quic 57.63ms 57.63ms 57.63ms 0s 0
bonsaidb-ws 44.69ms 44.69ms 44.69ms 0s 0
postgresql 211.6ms 211.6ms 211.6ms 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 5369 time(s) across each backend.

Backend Avg Min Max StdDev Outliers
bonsaidb-local 74.60us 19.78us 1.323ms 58.79us 49
bonsaidb-local+lz4 77.57us 19.42us 2.320ms 70.46us 26
bonsaidb-quic 385.0us 160.0us 10.09ms 388.3us 15
bonsaidb-ws 305.4us 111.8us 5.130ms 165.2us 44
postgresql 926.8us 177.7us 8.489ms 1.044ms 148
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 5358 time(s) across each backend.

Backend Avg Min Max StdDev Outliers
bonsaidb-local 110.9us 31.14us 1.619ms 70.25us 33
bonsaidb-local+lz4 114.5us 34.51us 2.339ms 75.03us 30
bonsaidb-quic 571.3us 247.6us 10.38ms 416.3us 21
bonsaidb-ws 454.7us 174.9us 4.312ms 219.9us 44
postgresql 938.7us 133.9us 8.711ms 1.056ms 164
CreateCart

Measures the time spent creating a shopping cart.

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

Backend Avg Min Max StdDev Outliers
bonsaidb-local 10.96ms 6.161ms 23.96ms 2.561ms 16
bonsaidb-local+lz4 11.48ms 5.677ms 26.00ms 3.260ms 22
bonsaidb-quic 9.122ms 3.980ms 21.63ms 2.142ms 17
bonsaidb-ws 9.785ms 4.159ms 26.17ms 3.074ms 17
postgresql 1.943ms 1.114ms 6.171ms 583.6us 21
AddProductToCart

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

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

Backend Avg Min Max StdDev Outliers
bonsaidb-local 11.32ms 5.487ms 31.70ms 2.681ms 24
bonsaidb-local+lz4 11.58ms 6.022ms 27.65ms 2.869ms 46
bonsaidb-quic 10.25ms 4.278ms 24.59ms 2.119ms 68
bonsaidb-ws 10.69ms 5.331ms 27.84ms 2.801ms 61
postgresql 2.005ms 1.001ms 10.95ms 714.4us 56
Checkout

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

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

Backend Avg Min Max StdDev Outliers
bonsaidb-local 11.66ms 7.704ms 26.19ms 2.764ms 2
bonsaidb-local+lz4 11.53ms 6.856ms 26.00ms 2.542ms 5
bonsaidb-quic 10.66ms 4.388ms 22.57ms 2.679ms 6
bonsaidb-ws 10.81ms 6.045ms 27.45ms 2.999ms 4
postgresql 958.8us 449.7us 4.672ms 515.9us 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 182 time(s) across each backend.

Backend Avg Min Max StdDev Outliers
bonsaidb-local 11.35ms 8.108ms 20.39ms 1.971ms 4
bonsaidb-local+lz4 11.49ms 7.454ms 26.52ms 2.489ms 2
bonsaidb-quic 11.50ms 7.362ms 21.84ms 2.270ms 3
bonsaidb-ws 11.25ms 7.391ms 24.35ms 1.887ms 2
postgresql 4.798ms 2.992ms 12.60ms 1.357ms 3