5 ms·
We did the same. We've replaced nginx/lua with a cache server (for video) written in Golang - now serving up to 100 Gbit/s per node. It's more CPU and memory ef
by totallyunknown 4y ago
We did the same. We've replaced nginx/lua with a cache server (for video) written in Golang - now serving up to 100 Gbit/s per node. It's more CPU and memory efficient and completely tailored to our needs. We are happy that we moved away from nginx.
- BonoboIO 4y agoWow ... 100 Gbit/s. Where do you work? That’s some serious traffic.
- trillic 4y ago100 Gbit/s is only like 3000 concurrent viewers at 5000 KiB/s.
- mplewis 4y ago“Only” :)
- totallyunknown 4y ago100 Gbit/s / 5000 KiB/s is 20000.
- ImprobableTruth 4y agoKiB = Kibibyte, not Kibibit
- zamadatix 4y ago40 Mbps seems roughly 5x-10x the bitrate I'd expect for this kind of thing.
- totallyunknown 4y agoA german company building an app for watching linear TV. Netflix is actually serving 400Gbit/s per node and already have 800Gbit/s ready. I think we can scale our setup up to 200 Gbit/s but we are too small. Total traffic is ~2 Tbit/s. Most challenging is the missing support of QUIC/http3 and KTLS in Golang. Also 100G NIC supply chain is difficult. We use NVIDIA Connect-X 6, but it's impossible to get a version with TLS offloading.
- BonoboIO 4y agoEs liegt mir auf der Zunge welche Firma das ist. I think it starts with a Wa ... you don’t have to say. I kind of remember to have been stumbled on a Twitter engineering ipv6 tweet. Maybe I m wrong. For me it’s impressive to get so much data through a computer. But I have one question, what does count as a node, is a node like 1 machine with dual sockets, a lot of ram and a lot of nics or is it like multiple machines combined that act as 1 node like a whole 19 inch rack.
- totallyunknown 4y agoA single node is single socket AMD EPCY node with 32 cores, 64 or 128GB RAM, 1x NIC with 2x100 GB/s. Ja, es ist waipu.tv.
- ddorian43 4y agoWhat about the disks? Edit: or linear TV means the recent stream can be all in ram?
- totallyunknown 4y agoAll in memory.
- lossolo 4y agoInteresting, do you do a lot of processing in Golang or basically you just use it as a wrapper around sendfile[1] ? 1. https://man7.org/linux/man-pages/man2/sendfile.2.html https://man7.org/linux/man-pages/man2/sendfile.2.html