> Cool! What kind of performance are you seeing? The README mentions being
> limited by the BPF hash table size, but can you actually shape 2000
> customers on one machine? On what kind of hardware and at what rate(s)?
On our production network our peak throughput is 1.5Gbps from 200 clients, and it works very well.
We use a simple consumer-class AMD 2700X CPU in production because utilization of the shaper VM is ~15% at 1.5Gbps load.
Customers get reliably capped within ±2Mbps of their allocated htb/fq_codel bandwidth, which is very helpful to control network congestion.
In
that example, bandwidth for the "subscriber" client VM was set to
4Gbps. 1000 IPv4 IPs and 1000 IPv6 IPs were in the filter hash table of LibreQoS.
The test bench server has an AMD 3900X running Ubuntu in Proxmox. 4Gbps utilizes 10% of the VM's 12 cores. Paravirtualized VirtIO network drivers are used and most offloading types are enabled.
In
our setup, VM networking multiqueue isn't enabled (it kept disrupting traffic flow), so 6Gbps is probably the most it
can achieve like this. Our qdiscs in this VM may be limited to one core because of that.
I suspect in a non-virtualized setup, or one with multiqueue, it can handle much more throughput.
Either way for now it's surprising to me how well it works and I'm just grateful for it haha.
Kudos to you and your peers for making fq_codel so efficient!
- Robert