Transaktionsrate (TPS)
Durchsatz einer Datenbank in Transaktionen pro Sekunde: TPS = Transaktionen / Zeit. Klassisches Benchmark-Maß (z. B. TPC-C, pgbench).
Transaktionsrate (TPS) berechnen
Durchsatz einer Datenbank in Transaktionen pro Sekunde: TPS = Transaktionen / Zeit. Klassisches Benchmark-Maß (z. B. TPC-C, pgbench).
- TPS — Transaktionen/s
- Transaktionen — Transaktionen
- Zeit — Zeitraum
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
TPS = Transaktionen / Zeit
Umstellungen:
Transaktionen = TPS · Zeit
Zeit = Transaktionen / TPSDie Variablen
| Symbol | Bedeutung | Einheit | Erklärung |
|---|---|---|---|
| Transaktionen | Transaktionen | — | Anzahl abgeschlossener Transaktionen. |
| Zeit | Zeitraum | s | Messzeitraum in Sekunden. |
| TPS | Durchsatz | 1/s | Transaktionen pro Sekunde. |
Minimal-Beispiel
Ein pgbench-Lauf verarbeitet 600.000 Transaktionen in 5 Minuten:
TPS = 600 000 / (5 · 60)
= 600 000 / 300
= 2 000 TPSPraxis-Beispiele
Beispiel 1 — Tagesvolumen aus Peak-TPS
Eine Anwendung verkraftet 1.500 TPS Peak. Wie viele Transaktionen sind das pro Stunde?
Transaktionen = TPS · Zeit
= 1 500 · 3 600
= 5 400 000
= 5,4 Mio Tx/hBeispiel 2 — Wie lange dauert eine Million Transaktionen?
Bei gemessenen 800 TPS:
Zeit = Transaktionen / TPS
= 1 000 000 / 800
= 1 250 s
≈ 20 min 50 sBeispiel 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:
N = TPS · Antwortzeit
= 5 000 · 0,020 s
= 100 parallele Tx
Pool-Größe ≈ 100 + Reserve.