TPS vs RPS

Metrics āļŠāļģāļ„āļąāļ 2 āļ•āļąāļ§āļŠāļģāļŦāļĢāļąāļšāļ§āļąāļ”āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļĢāļ°āļšāļš backend āļ—āļĩāđˆāļŦāļĨāļēāļĒāļ„āļ™āļĄāļąāļāļŠāļąāļšāļŠāļ™ āđ€āļžāļĢāļēāļ°āļ”āļđāđ€āļŦāļĄāļ·āļ­āļ™āļ§āļąāļ”āļŠāļīāđˆāļ‡āđ€āļ”āļĩāļĒāļ§āļāļąāļ™ āđāļ•āđˆāļˆāļĢāļīāļ‡ āđ† āļ§āļąāļ”āļ„āļ™āļĨāļ°āļĄāļīāļ•āļī

TPS (Transactions Per Second)

  • āļˆāļģāļ™āļ§āļ™ transaction āļ—āļĩāđˆāļŠāļĄāļšāļđāļĢāļ“āđŒ āļ•āđˆāļ­āļ§āļīāļ™āļēāļ—āļĩ
  • Transaction = āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ—āļĩāđˆāļŠāļĄāļšāļđāļĢāļ“āđŒ (complete unit of work) āļ•āđ‰āļ­āļ‡ ACID — āļŠāļģāđ€āļĢāđ‡āļˆāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļŦāļĢāļ·āļ­āđ„āļĄāđˆāđ€āļāļīāļ”āđ€āļĨāļĒ
  • āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡: āđ‚āļ­āļ™āđ€āļ‡āļīāļ™ (1 transaction), āļŠāļĢāđ‰āļēāļ‡ order (1 transaction), āļĨāļ‡āļ—āļ°āđ€āļšāļĩāļĒāļ™ user (1 transaction)
  • āđ€āļ™āđ‰āļ™āļ—āļĩāđˆ: Business Logic / Database Layer

RPS (Requests Per Second)

  • āļˆāļģāļ™āļ§āļ™ request āļ—āļļāļāļĢāļđāļ›āđāļšāļš āļ•āđˆāļ­āļ§āļīāļ™āļēāļ—āļĩ
  • Request = āļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰ API āļ—āļļāļāļĢāļđāļ›āđāļšāļš (GET, POST, PUT, DELETE)
  • āļ—āļļāļāļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāļĄāļĩāđƒāļ„āļĢāđ€āļĢāļĩāļĒāļ API āļ‚āļ­āļ‡āļ„āļļāļ“ = 1 request
  • āđ€āļ™āđ‰āļ™āļ—āļĩāđˆ: Network / API Layer

āļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āļŦāļĨāļąāļ

āļ”āđ‰āļēāļ™TPSRPS
āļ‚āļ­āļšāđ€āļ‚āļ•Business/Database layerAPI/Network layer
āļ™āļąāļšāļ­āļ°āđ„āļĢāđ€āļ‰āļžāļēāļ°āļ‡āļēāļ™āļ—āļĩāđˆāļĄāļĩāļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāļ—āļēāļ‡āļ˜āļļāļĢāļāļīāļˆāļ—āļļāļ request āļ—āļĩāđˆāđ€āļ‚āđ‰āļēāļĄāļē
ACIDāļ•āđ‰āļ­āļ‡āđ„āļĄāđˆāļˆāļģāđ€āļ›āđ‡āļ™

āļāļŽāļŠāļģāļ„āļąāļ:

  • RPS â‰Ĩ TPS āđ€āļŠāļĄāļ­ â€” 1 transaction āļ­āļēāļˆāđƒāļŠāđ‰āļŦāļĨāļēāļĒ requests
  • āđāļ•āđˆ 1 request āđ„āļĄāđˆāļˆāļģāđ€āļ›āđ‡āļ™āļ•āđ‰āļ­āļ‡āđ€āļ›āđ‡āļ™ transaction

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļˆāļĢāļīāļ‡

1. Read-heavy System (Social Media)

  • RPS = 100,000 (āļ”āļđ feed, āđ‚āļŦāļĨāļ”āļĢāļđāļ›, āļ­āđˆāļēāļ™āļ„āļ­āļĄāđ€āļĄāļ™āļ•āđŒ)
  • TPS = 5,000 (āđ‚āļžāļŠāļ•āđŒ, comment, like)
  • āļ­āļąāļ•āļĢāļēāļŠāđˆāļ§āļ™ 20:1

2. E-commerce Checkout (Sustained Traffic)

āļ—āļļāļāļ§āļīāļ™āļēāļ—āļĩāđƒāļ™āļŠāđˆāļ§āļ‡ peak:

  • 100 users āđ€āļ›āļīāļ”āļŦāļ™āđ‰āļē → 3 GETs = 300 requests
  • 100 users āļāļ”āļĒāļ·āļ™āļĒāļąāļ™ â†’ 1 POST = 100 requests
  • RPS = 400, TPS = 100 → āļ­āļąāļ•āļĢāļēāļŠāđˆāļ§āļ™ 4:1

3. Per-user Journey (E-commerce)

User 1 āļ„āļ™āļ•āļąāđ‰āļ‡āđāļ•āđˆāđ€āļĢāļīāđˆāļĄāļˆāļ™āļˆāļš (30 āļ§āļīāļ™āļēāļ—āļĩ):

  1. āđ‚āļŦāļĨāļ”āļŦāļ™āđ‰āļē checkout → 3 GET requests (cart, shipping, payment)
  2. āļāļ”āļĒāļ·āļ™āļĒāļąāļ™ â†’ 1 POST request (create order)
  • 4 requests : 1 transaction → āļ–āđ‰āļēāļ•āđ‰āļ­āļ‡āļāļēāļĢ TPS = 100 āļĢāļ°āļšāļšāļ•āđ‰āļ­āļ‡āļĢāļąāļš RPS ≈ 400

āļ”āļđāļ•āļąāļ§āđ„āļŦāļ™āđ€āļĄāļ·āđˆāļ­āđ„āļŦāļĢāđˆ?

āļ”āļđ TPS āđ€āļĄāļ·āđˆāļ­āļ”āļđ RPS āđ€āļĄāļ·āđˆāļ­
āļ§āļēāļ‡āđāļœāļ™āļ‚āļ™āļēāļ” Databaseāļ§āļēāļ‡āđāļœāļ™āļ‚āļ™āļēāļ” API Gateway / Load Balancer
āļ„āļģāļ™āļ§āļ“āļ•āđ‰āļ™āļ—āļļāļ™āļ•āđˆāļ­āļ˜āļļāļĢāļāļĢāļĢāļĄāļ›āļĢāļ°āđ€āļĄāļīāļ™ Bandwidth
āļ§āļąāļ” business performanceāļ•āļąāđ‰āļ‡āļ„āđˆāļē Rate Limiting
āļ›āļĢāļ°āđ€āļĄāļīāļ™ throughput āļ—āļēāļ‡āļ˜āļļāļĢāļāļīāļˆāļ”āļđāļžāļĪāļ•āļīāļāļĢāļĢāļĄāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļˆāļĢāļīāļ‡

āļ„āļģāļ–āļēāļĄāļ—āļĩāđˆāļ„āļ§āļĢāļ–āļēāļĄāđ€āļŠāļĄāļ­

āđ€āļ§āļĨāļēāđƒāļ„āļĢāļšāļ­āļāļ§āđˆāļē “āļĢāļ°āļšāļšāļĢāļ­āļ‡āļĢāļąāļšāđ„āļ”āđ‰ 10,000 TPS”:

  1. āđāļ™āđˆāđƒāļˆāļ§āđˆāļē TPS āđ„āļĄāđˆāđƒāļŠāđˆ RPS?
  2. āļ­āļąāļ•āļĢāļēāļŠāđˆāļ§āļ™ Request-to-Transaction (RPT) āđ€āļ›āđ‡āļ™āļĒāļąāļ‡āđ„āļ‡?
  3. āļĢāļ°āļšāļšāđ€āļ›āđ‡āļ™ read-heavy āļŦāļĢāļ·āļ­ write-heavy?

āļāļēāļĢāļŠāļ·āđˆāļ­āļŠāļēāļĢïŋ―ïŋ―ïŋ―āļĩāđˆāļ„āļĨāļēāļ”āđ€āļ„āļĨāļ·āđˆāļ­āļ™āļĢāļ°āļŦāļ§āđˆāļēāļ‡ Product āļāļąāļš Tech āđ€āļĢāļ·āđˆāļ­āļ‡ capacity āļ­āļēāļˆāļ™āļģāđ„āļ›āļŠāļđāđˆāļŦāļēāļĒāļ™āļ°āđ„āļ”āđ‰ — Sakul Montha

Sources

  • Sakul Montha — “RPS vs TPS: āļŠāļ­āļ‡āļ„āļģāļ—āļĩāđˆāļ„āļĨāđ‰āļēāļĒāļāļąāļ™āđāļ•āđˆāļ•āđˆāļēāļ‡āļāļąāļ™â€ (Medium, 2025-10-23) — āļ—āļĩāđˆāļĄāļēāļ‚āļ­āļ‡āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ 3 scenarios āđāļĨāļ° Request-to-Transaction ratio
  • AWS Services Overview — infrastructure ïŋ―ïŋ―ïŋ―āļĩāđˆāđƒāļŠāđ‰ metrics āđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āļ§āļąāļ”
  • Spring Boot — backend app āļ—āļĩāđˆāļ§āļąāļ” metrics āđ€āļŦāļĨāđˆāļēāļ™ïŋ―ïŋ―āđ‰
  • 3 Pillars of Observability — Metrics āđ€āļ›āđ‡āļ™ 1 āđƒāļ™ 3 ïŋ―ïŋ―ïŋ―āļŠāļēāļŦāļĨāļąāļāļ‚āļ­āļ‡ observability