3 ms·
> A performant server should be able to do, on 10 GbE: > - 6M/s ~4KiB text/plain HTTP/1.1 According to my numbers 4KiB * 6M/s is roughly 196Gbps, that really
by simongr3dal 4y ago
> A performant server should be able to do, on 10 GbE:
> - 6M/s ~4KiB text/plain HTTP/1.1
According to my numbers 4KiB * 6M/s is roughly 196Gbps, that really must be a very performant server, and network card.
- 1letterunixname 4y ago255Tbps exist in research labs. 100 Gbps is COTS hardware. Benchmarks are usually performed locally between a load test program and the local server. Bottlenecks are imposed at the boundaries of storage iops, memory bandwidth, cache bandwidth, cpu context switching, external io, cache miss/hits, and overhead of the program. Anything production and performant likely leverages DPDK and multiple 40/100 Gbps nics/hcas but doesn't need to serve that much because it has CDNs and "cloudflares" in front of it. Apps with dynamic data have to be sharded in such a way that they can be horizontally-scaled. WhatsApp scaled nicely with Erlang BEAM/HiPE on FreeBSD on a low hardware budget for the volume of traffic. HiPE isn't particularly fast or efficient compared to Rust or Azul C4 JVM but it saved a lot of thread contention by making copies and saving cache invalidations by making almost everything immutable.