[System Design 101] Lesson1 Making Estimates

Eliot Chang
2 min readJan 9, 2024

--

Q: How to measure your network performance?

A: There are 3 key metrics to measure your network performance: latency, throughput, and bandwidth.

  • Latency(time): delay or lag of your data(packet) transmission, e.g. Server A in New York sends a data packet to Server B in London. Server A sends the packet at 05:35:00.000 GMT and Server B receives it at 05:35:00.139 GMT. The amount of latency on this path is the difference between these two times: 0.139 seconds or 139 milliseconds.
  • Throughput(volume): actual rate of successful data transfer
  • Bandwidth(capacity): maximum theoretical capacity of a network connection, measured in megabytes per second (MBps)
credit: https://www.dnsstuff.com/latency-throughput-bandwidth

Q: What are the system components benchmark for throughput, latency, and bandwidth?

A: Generally speaking:

Latency(speed)

  • CPU cache > RAM(Random-access memory) > disk > local network > global network
  • The rank is highly related to the distance(the farther the distance the longer the transmission time it takes)

Throughput(volume)

  • RDBMS writes/sec are only a half of its reads/sec
  • RDBMS and Distributed cache and message queue share same reads/sec
  • Distributed cache and message queue have same reads/sec writes/sec
  • NoSQL usually has 2x-5x reads and writes than RDBMS

Bandwidth

  • NoSQL can be unlimited like using sharding or hashing.

Reference

--

--