HTTP/2 Concurrent streams question
simone.bordet at gmail.com
Wed Nov 7 18:27:13 UTC 2018
On Wed, Nov 7, 2018 at 7:09 PM Michael McMahon
<michael.x.mcmahon at oracle.com> 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.).
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