cURL / Mailing Lists / curl-users / Single Mail


Re: Piplelining and parallel connection together

From: Daniel Stenberg <>
Date: Sun, 14 Aug 2011 11:34:57 +0200 (CEST)

On Sat, 13 Aug 2011, Shyama Prasad Mondal wrote:

> We enabled pipelining in libcurl and at the same time we have set MAXCONNECT
> to 15. We see that libcurl does pipelining and but opens ONLY ONE connection
> per host. We would like to open several parallel connections to the same
> host and on each connection, send multiple requests via pipelining. But
> that's not happening.

First, please notice that the libcurl mailing list is called curl-library and
_this_ mailing list is for the curl tool. If you have follow-ups on this
subject, please take it there.

But to answer the question I'll start with a little background.

We added pipelining to libcurl because someone wanted their application to use
it in order to greatly improve performance since they were doing many HTTP
retrevials from the same host. While working on that implementation, we of
course considered how to offer things such as multiple pipelines to the same
host etc, but it wasn't a feature anyone of us wanted or needed badly at the
time so we decided to push that decision for the future.

Since then, nobody has wanted that feature to the extent that they have worked
on providing it. We haven't even discussed how an API for splitting up
multiple requests to the same host over multiple pipelines would look like.
I've recently read several reports on HTTP pipelining as done by mobile
browsers and it seems that not even those agree which is the most effective
way to do it (ie fill a pipeline first or distribute over multiple pipelines
first and what the maximum number of requests per pipeline should be etc).

So, if you want to be able to do multiple pipelines to the same host, I think
that's a feature we wouldn't mind getting added to libcurl but you will have
to be prepared to roll up your sleaves and work on it to make it reality!

List admin:
Received on 2011-08-14