Wednesday, December 20, 2017

Fundamental networking question: Packets per second or bytes per second: which is the real limit?

With the rise of IOT and Kafka solutions, I have a question about how to design a load balancer for a large implementation. My service is going to be getting potentially millions of updates per hour, but they are small packets, generally 100 byte updates (800 bits).

The question is about fan out. Does having such a large number of small packets create enough overhead to constrain the total practical, usable, bandwidth?

I have been playing around with the bandwidth calculators, but all they do is compute single stream bandwidth delay products. If I have a hundred sessions, is it fair to add up the Bandwidth Delay Products?

I feel like if I sum up all the sessions and their associated BDP's I am missing an important component of overhead.

If I sum up the BDP's, then with a 100 concurrent session load I will be doing something like 3 million packets per second, and about 2.4 Gb/s.

By one reckoning a single 10 Gb adapter should be able to absorb all this workload, but again, I feel like there is a lot of overhead I am ignoring. My instincts say that no one NIC is really capable of sustaining 3 million packets per second for hours on end, day after day.

What is the practical limit of traffic on a 10Gb interface, assuming lots of small packets?



No comments:

Post a Comment