Le 15/06/2020 à 15:36, Wes McKinney a écrit : > > When you have only a single server, all the gRPC traffic goes through > a common port and is handled by a common server, so if both client and > server are roughly IO bound you aren't going to get better performance > by hitting the server with multiple clients simultaneously, only worse > because the packets from different client requests are intermingled in > the TCP traffic on that port. I'm not a networking expert but this is > my best understanding of what is going on.
Yibo Cai's experiment disproves that explanation, though. When I run a single client against the test server, I get ~4 GB/s. When I run 6 standalone clients against the *same* test server, I get ~8 GB/s aggregate. So there's something else going on that limits scalability when the benchmark executable runs all clients by itself (perhaps gRPC clients in a single process share some underlying structure or execution threads? I don't know). > I hope someone will implement the "multiple test servers" TODO in the > benchmark. I think that's a bad idea *in any case*, as running multiple servers on different ports is not a realistic expectation from users. Regards Antoine.