On Mon, Jun 15, 2020 at 8:43 AM Antoine Pitrou <anto...@python.org> wrote:
>
>
> 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 see, thanks. OK then clearly something else is going on.

> > 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