Metrics

  1. 👥 DAU
  2. Requests
    1. ⏱️ QPS
      1. 🏃‍♂️ Peak Load
      2. 📈 Response Time
    2. Concurrency

Components

  1. CPU
  2. RAM
  3. 💽 Storage
  4. Network Bandwidth
  5. 💾 DB

Methods

  1. Upfront 0. Back-of-the envelope estimation
    1. Forecasting
    2. Capacity Planning Tools
  2. Live systems
    1. Testing
      1. Stress Testing
      2. Load Testing
    2. Traffic Analysis

Tools

  1. Testing
    1. Locust - A modern load testing framework
    2. LoadRunner
    3. JMeter
  2. Observability tools for monitoring
    1. 📈 Grafana
    2. 🔥 Prometheus
  3. Networking
    1. Nagios

Good practices

  1. Sizes
    1. Round numbers to speed up math
      1. Byte = 8 Bits ~= 10 Bits
    2. Memorize the commonly used sizes
    3. 10eN Name Storage