Benchmarks

Benchmark Concepts

The shortest path to reading Trypema throughput, latency, and decision counts correctly.

Use this page as the legend for the benchmark tables.

What one operation means

An operation is one limiter call, usually inc(...). It is not the cost of your full request lifecycle.

The three numbers to care about first

ops/s

How many limiter operations completed per second.

Tail latency

Look at p99 and p99.9 to understand the slow end of the distribution, not just the median.

Decision counts

These tell you what path you actually measured:

  • allowed
  • rejected
  • suppressed_allowed
  • suppressed_denied
  • errors

For suppressed mode, denials show up in suppressed_denied, not rejected.

The workload knobs that change results the most

KnobWhy it matters
providerchanges the storage and I/O model
strategychanges decision behavior
key_dist and key_spacedecide whether traffic is hot-key heavy or spread out
rate_limit_per_schanges how often the limiter is under pressure
threadschanges concurrency and contention
modemax finds peak throughput, target-qps is better for tail-latency reading

How to compare rows safely

Only compare rows directly when the workload knobs match. A fast result under uniform keys does not tell you what happens under hot-key contention.

The most important caveat

Benchmark results are directional. They are useful for understanding relative behavior, not for making universal promises across every machine and topology.