Bandwidth Estimation
Request rate becomes a flow of data
RPS tells us how many operations happen each second, but not how much data they transfer. A request with a few JSON fields and a photo upload can both count as one request, even though their network cost differs by orders of magnitude.
A basic bandwidth estimate connects operation frequency with the average amount of data transferred per operation.
bandwidth = requests/s × bytes/request
If a service sends 5,000 responses per second with an average size of 20 KB, the result is roughly 100 MB/s of outbound traffic, or about 800 Mb/s.
5,000 requests/s × 20 KB ≈ 100 MB/s
100 MB/s × 8 ≈ 800 Mb/s
Bytes and bits are different units
Object size is usually written in B, KB, MB, or GB — bytes. Network speed is often expressed in bits per second: Mb/s or Gb/s. One byte contains eight bits, so converting between the two introduces a factor of 8.
This is an easy place to make an eightfold error, so it is better to keep units next to the numbers and perform the conversion as a separate step.
Estimate ingress and egress separately
Inbound and outbound traffic can be very different. A photo storage service may receive relatively infrequent large uploads, then serve the same images many times to users. Another product may be dominated by incoming events instead.
ingress = write_RPS × average_request_size
egress = read_RPS × average_response_size
Separating the directions reveals which one actually drives network load. A single total traffic number can hide an important imbalance.
Average size is also an assumption
If responses range from 1 KB to several megabytes, one average number simplifies reality. That is fine for a quick estimate as long as the assumption is explicit. If large objects form a separate important scenario, it is better to estimate them as their own stream instead of mixing them with small API responses.
Just as with RPS, the average data rate should also be checked against the peak period. A network path sized exactly for the average can become a bottleneck during a traffic spike.