Firefox isn’t io bound it is spending a ton of CPU parsing network buffers and rendering UI.
Nginx is IO bound in general - for my headless go stateful server, i could get syscall6 up to 20% of the profile time. It was a fight between GC in the gRPC code allocating for headers and the syscall6 for top single profile footprint.