BonsaiDb Commerce Benchmark
medium, readheavy, 4 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 4 worker(s). All total, the workers will execute the following breakdown of operations:
Operation | Invocations |
---|---|
Load | 1 |
LookupProduct | 2758 |
FindProduct | 2727 |
CreateCart | 416 |
AddProductToCart | 531 |
Checkout | 37 |
RateProduct | 4 |
Summary
Backend | Total Time | Wall Time | Transport |
---|---|---|---|
bonsaidb-local | 1.742s | 435.4ms | None |
bonsaidb-local+lz4 | 1.970s | 492.5ms | TCP |
bonsaidb-quic | 5.907s | 1.477s | UDP with TLS |
bonsaidb-ws | 4.390s | 1.098s | TCP |
postgresql | 17.12s | 4.281s | 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 | 96.43ms | 96.43ms | 96.43ms | 0s | 0 |
bonsaidb-local+lz4 | 114.7ms | 114.7ms | 114.7ms | 0s | 0 |
bonsaidb-quic | 120.6ms | 120.6ms | 120.6ms | 0s | 0 |
bonsaidb-ws | 174.1ms | 174.1ms | 174.1ms | 0s | 0 |
postgresql | 6.972s | 6.972s | 6.972s | 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 2758 time(s) across each backend.
Backend | Avg | Min | Max | StdDev | Outliers |
---|---|---|---|---|---|
bonsaidb-local | 144.3us | 28.20us | 9.604ms | 342.2us | 18 |
bonsaidb-local+lz4 | 184.6us | 24.20us | 12.03ms | 476.5us | 28 |
bonsaidb-quic | 849.5us | 371.7us | 7.248ms | 330.9us | 34 |
bonsaidb-ws | 609.4us | 288.9us | 7.725ms | 285.6us | 31 |
postgresql | 1.289ms | 417.0us | 44.53ms | 1.191ms | 12 |
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 2727 time(s) across each backend.
Backend | Avg | Min | Max | StdDev | Outliers |
---|---|---|---|---|---|
bonsaidb-local | 271.8us | 51.10us | 14.86ms | 590.2us | 36 |
bonsaidb-local+lz4 | 297.7us | 49.10us | 10.34ms | 509.3us | 32 |
bonsaidb-quic | 936.2us | 449.5us | 9.317ms | 496.6us | 26 |
bonsaidb-ws | 678.7us | 356.3us | 7.587ms | 260.8us | 39 |
postgresql | 1.376ms | 422.0us | 47.95ms | 1.450ms | 16 |
CreateCart
Measures the time spent creating a shopping cart.
This operation was executed 416 time(s) across each backend.
Backend | Avg | Min | Max | StdDev | Outliers |
---|---|---|---|---|---|
bonsaidb-local | 343.7us | 88.10us | 15.30ms | 941.5us | 5 |
bonsaidb-local+lz4 | 361.0us | 100.5us | 6.820ms | 537.3us | 6 |
bonsaidb-quic | 594.9us | 300.4us | 5.094ms | 355.9us | 7 |
bonsaidb-ws | 440.7us | 250.1us | 1.213ms | 128.2us | 12 |
postgresql | 2.873ms | 1.402ms | 12.50ms | 1.156ms | 8 |
AddProductToCart
Measures the time spent adding a product to a shopping cart.
This operation was executed 531 time(s) across each backend.
Backend | Avg | Min | Max | StdDev | Outliers |
---|---|---|---|---|---|
bonsaidb-local | 526.8us | 114.8us | 11.84ms | 1.105ms | 7 |
bonsaidb-local+lz4 | 541.0us | 127.2us | 9.935ms | 841.8us | 8 |
bonsaidb-quic | 1.049ms | 584.4us | 4.829ms | 394.4us | 9 |
bonsaidb-ws | 809.8us | 461.2us | 4.079ms | 350.5us | 11 |
postgresql | 2.798ms | 1.055ms | 12.08ms | 1.072ms | 12 |
Checkout
Measures the time spent converting a shopping cart into an order for a customer.
This operation was executed 37 time(s) across each backend.
Backend | Avg | Min | Max | StdDev | Outliers |
---|---|---|---|---|---|
bonsaidb-local | 666.8us | 239.7us | 1.698ms | 275.1us | 1 |
bonsaidb-local+lz4 | 1.035ms | 274.4us | 11.42ms | 1.754ms | 1 |
bonsaidb-quic | 1.506ms | 1.032ms | 3.406ms | 386.0us | 1 |
bonsaidb-ws | 1.189ms | 856.4us | 1.712ms | 181.8us | 0 |
postgresql | 3.494ms | 2.053ms | 7.592ms | 1.305ms | 1 |
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 4 time(s) across each backend.
Backend | Avg | Min | Max | StdDev | Outliers |
---|---|---|---|---|---|
bonsaidb-local | 14.70ms | 570.7us | 56.53ms | 24.15ms | 0 |
bonsaidb-local+lz4 | 14.61ms | 903.0us | 55.40ms | 23.55ms | 0 |
bonsaidb-quic | 7.499ms | 1.436ms | 22.09ms | 8.532ms | 0 |
bonsaidb-ws | 6.844ms | 1.177ms | 23.70ms | 9.730ms | 0 |
postgresql | 8.235ms | 7.010ms | 9.224ms | 906.1us | 0 |