swift-server/async-http-client

introduce a `concurrentHTTP2ConnectionsPerHostSoftLimit`

weissi opened this issue · 0 comments

There are use-cases where the target server can handle more concurrent requests than its MAX_CONCURRENT_STREAMS HTTP/2 setting. This is especially often the case behind load balancers which may just pick an arbitrary number or leave the default of 100.

In such a configuration, it's currently impossible to get more than MAX_CONCURRENT_STREAMS concurrently running HTTP requests with AHC if running over HTTP/2.

For HTTP1 we have concurrentHTTP1ConnectionsPerHostSoftLimit to tune this but for HTTP/2 such a setting doesn't exist.

In my case, I'll have to downgrade to HTTP/1.x just to get over the target's MAX_CONCURRENT_STREAMS setting :(.