Hey Mate, I took a look at stunner. It's very cool! This could make it more flexible in terms of pod allocation.
Have you been able to load test the solution yet? LiveKit ships with a single-port UDP mode that can also avoid the use of host networking. However, IIRC it tends to run into a network bottleneck around 100Mbps. This was due to multiple goroutines locking before writing to a single socket.
Because of that we stopped recommending UDPMux in production deploys.
dry-elephant-14928
11/10/2022, 11:33 PM
If you are able to get around it, I'd be very curious to see your solution! from a dev-ex perspective a single port is much easier to work with
m
microscopic-dusk-5190
11/12/2022, 6:36 PM
We ran basic load testing with iperf2 (you can find the related script under example/benchmark). Our goal was to figure out the overhead added by STUNner. The results actually depend on a lot of factors, like environment, packet length, network..etc.
microscopic-dusk-5190
11/12/2022, 6:43 PM
Btw, we do not mux UDP packets, so I do not expect drastic drop at 100Mbps, but we have not gone up till that with bandwidth. Do you have any recommended settings or tools that we could use to benchmark STUNner? Or if you have dedicated test environment, we would be happy to help you to test it out 🙂
microscopic-dusk-5190
11/12/2022, 6:45 PM
On the other hand we have eBPF acceleration on the roadmap that will eventually boost STUNner's performance