[System Design 101] Lesson1 Making Estimates
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)
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