curl / Mailing Lists / curl-library / Single Mail
Buy commercial curl support from WolfSSL. We help you work out your issues, debug your libcurl applications, use the API, port to new platforms, add new features and more. With a team lead by the curl founder himself.

Re: connection pooling with http/2 when multiplexing to remote http1.1/http2 server

From: Stefan Eissing via curl-library <>
Date: Wed, 29 May 2019 08:36:31 +0200

> Am 29.05.2019 um 02:21 schrieb Sangamkar, Dheeraj via curl-library <>:
> I am using a libcurl client to GET content using http/2 over tls from an http1.1/2 server.
> I am using the multi interface.
> CURLPIPE_WAIT is not set on the easy handles.
> With multiplexing enabled, the download throughput is always lower than without. Also, http/2 is slower than http/1.1.
> Some questions:
> Is this behavior expected?

In general, I would say no.

> Is libcurl multiplexing all my requests through a single tcp connection to server when using http/2?
> Is it possible to increase the number of tcp connections to multiplex over but still cap it to a maximum without using many multi-handles? Or using many multi-handles is the right way to do this connection pooling when using http/2?
> Libcurl version: 7.52.1-5+deb9u9 + some patches.

I think there have been improvements since then. A curl dev might know.

However: have you made certain that the server is fast? Can you use another client, for example "h2load" or "nghttp" from the nghttp2 lib to test it? Especially h2load is good to verify your server has no problems.

- Stefan

> OS: Debian 9u9
> -Dheeraj
> -------------------------------------------------------------------
> Unsubscribe:
> Etiquette:

Received on 2019-05-29