HTTP/2 Concurrent streams question

Simone Bordet simone.bordet at
Wed Nov 7 18:27:13 UTC 2018


On Wed, Nov 7, 2018 at 7:09 PM Michael McMahon
<michael.x.mcmahon at> wrote:
> That's useful feedback Simone. It sounds like this is a somewhat
> different issue though.
> How would you recommend determining when to open a new connection to
> maximise throughput?

Opening a new connection and maximizing throughput may not be related,
so let's say just opening a new connection.

The client must not exceed the server's max_concurrent_streams.
When it does, it may open a new connection.
This would solve the OP problem.

Then, have the client configurable with the max number of connections
per origin (which can be defaulted at 1 for HTTP/2 - and to a larger
value for HTTP/1.1).
Once you hit that too, start queuing (or rejecting).

Maximizing throughput is a different story, as it depends on a number
of factors that are volatile (e.g. the status of the network in that
precise moment, the bandwidth*delay product, dynamic adjustments of
the HTTP/2 flow control window, etc.).

Simone Bordet
Finally, no matter how good the architecture and design are,
to deliver bug-free software with optimal performance and reliability,
the implementation technique must be flawless.   Victoria Livschitz

More information about the net-dev mailing list