/ Datenbanken

Transaktionsrate (TPS)

Durchsatz einer Datenbank in Transaktionen pro Sekunde: TPS = Transaktionen / Zeit. Klassisches Benchmark-Maß (z. B. TPC-C, pgbench).

Transaktionsrate (TPS)
01 · Eingabe

Transaktionsrate (TPS) berechnen

Durchsatz einer Datenbank in Transaktionen pro Sekunde: TPS = Transaktionen / Zeit. Klassisches Benchmark-Maß (z. B. TPC-C, pgbench).

Lösen für
TPS = Transaktionen / Zeit
s

Worum geht es?

Transaktionen pro Sekunde (TPS) ist das Standardmaß für den Durchsatz einer OLTP-Datenbank: wie viele vollständig abgeschlossene Transaktionen schafft das System unter Last? Die Formel ist trivial — Anzahl Transaktionen geteilt durch die Messzeit in Sekunden — aber das saubere Messen ist der eigentliche Kraftakt.

Klassische Benchmarks wie TPC-C, TPC-E und das bei PostgreSQL mitgelieferte pgbench liefern TPS-Werte für vergleichbare Workloads. Für Kapazitätsplanung rechnet man typischerweise mit Peak-TPS und einem Sicherheitsfaktor.

Die Formel

Formel TPS
TPS = Transaktionen / Zeit

Umstellungen:
    Transaktionen = TPS · Zeit
    Zeit          = Transaktionen / TPS

Die Variablen

SymbolBedeutungEinheitErklärung
TransaktionenTransaktionenAnzahl abgeschlossener Transaktionen.
ZeitZeitraumsMesszeitraum in Sekunden.
TPSDurchsatz1/sTransaktionen pro Sekunde.

Minimal-Beispiel

Ein pgbench-Lauf verarbeitet 600.000 Transaktionen in 5 Minuten:

Rechnung pgbench
TPS = 600 000 / (5 · 60)
    = 600 000 / 300
    = 2 000 TPS

Praxis-Beispiele

Beispiel 1 — Tagesvolumen aus Peak-TPS

Eine Anwendung verkraftet 1.500 TPS Peak. Wie viele Transaktionen sind das pro Stunde?

Rechnung Hochrechnung
Transaktionen = TPS · Zeit
              = 1 500 · 3 600
              = 5 400 000
              = 5,4 Mio Tx/h

Beispiel 2 — Wie lange dauert eine Million Transaktionen?

Bei gemessenen 800 TPS:

Rechnung Dauer
Zeit = Transaktionen / TPS
     = 1 000 000 / 800
     = 1 250 s
     ≈ 20 min 50 s

Beispiel 3 — Connection Pool dimensionieren

Bei 5.000 TPS und einer mittleren Transaktionsdauer von 20 ms ergibt sich nach Little's Law eine durchschnittliche Anzahl gleichzeitig laufender Transaktionen von:

Rechnung Little's Law
N = TPS · Antwortzeit
  = 5 000 · 0,020 s
  = 100 parallele Tx

Pool-Größe ≈ 100 + Reserve.