curl-library
Re: Libcurl: Using libcurl, is it possible to create a list of GET requests for the same easy handle?
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?
Regards,
On Thu, Sep 18, 2014 at 12:09 PM, Daniel Stenberg <daniel_at_haxx.se> 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?
>
> --
>
> / daniel.haxx.se
> -------------------------------------------------------------------
> List admin: http://cool.haxx.se/list/listinfo/curl-library
> Etiquette: http://curl.haxx.se/mail/etiquette.html
-- niks
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2014-09-18