How TeselaDB performance is measured

The loads, the machines and the rules used to compare TeselaDB with MongoDB, before any figure is published.

TeselaDB

TeselaDB

TeselaDB team

2 min read

  • performance
  • YCSB
  • method

TeselaDB publishes no performance figure without its method. Here is how it will be measured, so you can judge each result when it comes out and repeat it on your machines.

The loads

The measurements use YCSB A to F on clusters of 3 and 9 nodes, plus the curve by number of cores and the disk each document takes. Each scenario is a teseladb-bench command, so you can repeat it with the same load:

Shell
cargo run -p teseladb-bench --release -- --scenario cores-curve

Same machines

TeselaDB and MongoDB Community run on the same machines, with the published release and the hardware fingerprint of each measurement. Each comparison is published in full, also when TeselaDB comes out behind.

What is compared

  • Operations per second and p50, p95 and p99 latencies on YCSB A, B and F, with 3 and 9 nodes.
  • The time to the next confirmed write when the node with the most leaders fails.
  • The latency of a query on an indexed field that is not the shard key.
  • The time until a write shows up in a text search, against MongoDB with mongot.
  • The latency and recall@10 of $vectorSearch with the same numCandidates in both systems.

The rules

Each measurement runs with the machine idle and the cores pinned, discards the warm-up and is repeated several times, with its spread. The configuration is the default one unless stated. The results will show up on the performance page with their method and the machines' fingerprint.

All posts