cURL / Mailing Lists / curl-library / Single Mail


Re: Libcurl: Using libcurl, is it possible to create a list of GET requests for the same easy handle?

From: nikhil ap <>
Date: Thu, 18 Sep 2014 14:01:00 +0530

Thanks for the quick response:

Essentially, This is what I would like to do:

Set up 5000 concurrent connections and vary the request rate from 5000 to
50000 requests per second.

Assuming I have setup 5000 easy handles and added it to multi interface, in
the first second, 5000 GET requests will be sent.
In the next second, using the same 5000 handles, I would like to send 10000
GET requests. This means 2 requests should be pipelined and sent in a
single handle.
In the third second, I would like to send 15000 which would have piplined 3
requests and so on.

If this possible is libcurl, how do I go about doing it?


On Thu, Sep 18, 2014 at 12:09 PM, Daniel Stenberg <> wrote:

> On Thu, 18 Sep 2014, nikhil ap wrote:
> Create a easy handle, set up the connection and send 1 GET request.
>> -
>> Once the response is received, use the same handle and send 2 GET
>> requests.
> This doesn't make sense. Why do you insist on using that exact same easy
> handle to do two more requests with? I mean, that's perfectly fine but then
> you need to do those two request in serial and not in parallel. An easy
> handle can only handle one transfer at a time, but a multi handle can
> handle any amount of parallel easy handles/transfers.
> I would also like to:
>> - Send multiple GET requests in an incremental order based on timeout.
>> I.e If I have sent 3 GET requests, after a second I would like to send 4
>> requests irrespective of whether I have received the response using the
>> same connection handle.
> That's no problem with the multi interface, you just add the new handles
> whenever you think they should start.
> I know about Pipeling feature so I use that for other use case but I
>> can't use that to do the above. Is there a way to do this using Libcurl?
> Yes, it is even easy to do with libcurl!
> I don't see how pipelining changes anything for what you're asking. Can
> you elaborate?
> --
> /
> -------------------------------------------------------------------
> List admin:
> Etiquette:


List admin:
Received on 2014-09-18