Split hosts into broadcast domains and check the broadcast bandwidth every NIC in a domain has to absorb.
Broadcast is the one traffic class that does not scale with switching capacity: every frame is delivered to every host in the domain and interrupts its CPU. Splitting hosts into more, smaller domains is the only way to reduce the load any individual host sees. This is the arithmetic behind the old "keep a subnet under 250 hosts" rule, and it is also how you pick a storm-control threshold that catches a real loop without tripping on a legitimate boot storm.
Broadcast Domain
Domains = ceil(hosts ÷ hosts per VLAN); every host in a domain receives the whole domain's broadcast, so load = hosts per domain × broadcasts per host × frame bits.
Storm-control sizing
storm-control threshold = 1% of line rate ÷ on-wire frame bits.
Domains = ceil(hosts ÷ hosts per VLAN); every host in a domain receives the whole domain's broadcast, so load = hosts per domain × broadcasts per host × frame bits. Broadcast is the one traffic class that does not scale with switching capacity: every frame is delivered to every host in the domain and interrupts its CPU. Splitting hosts into more, smaller domains is the only way to reduce the load any individual host sees.
This is the arithmetic behind the old "keep a subnet under 250 hosts" rule, and it is also how you pick a storm-control threshold that catches a real loop without tripping on a legitimate boot storm.
This calculator takes 5 inputs: Total hosts, Target hosts per VLAN, Broadcasts per host, Average broadcast frame, Host NIC speed. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.
For an unoptimised switch, yes — unknown multicast floods like broadcast. With IGMP snooping, multicast only reaches subscribed ports, so exclude it from the per-host figure once snooping is verified working.