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.

Reply via email to