On Tue, 13 Aug 2019, Aravindhan Krishnan via curl-library wrote:

I have enabled pipeline with pipe-length of 5 (default)

I would advice against enabling pipelining. It had several issues and it has been removed in later versions.

and have set CURLMOPT_MAX_TOTAL_CONNECTIONS and CURLMOPT_MAX_HOST_CONNECTIONS to 5, just in case if it helps for the question below.

Limiting the connection cache and number of parallel connections will not help curl to do more or better persistent connections. CURLMOPT_MAX_TOTAL_CONNECTIONS will rather risk capping curl into closing connections more frequently than otherwise and CURLMOPT_MAX_HOST_CONNECTIONS risks making curl queue up requests that could otherwise get performed earlier.

The client is just an extended version of the sample indicated by multi-uv.c, where in I send 20 requests, get the responses, process them and repeat the process infinitely. During the entire process I don’t call curl_multi_cleanup, but after receiving and processing every response, I call curl_multi_remove_handle and curl_easy_cleanup for the completed easy handle.

You do 20 parallel requests and has asked libcurl to not keep more than 5 in the connection cache. 5 is less than 20. There's no room to keep any connection alive after they're done. They will be closed and discarded as soon as possible. As requested.

I would suggest you start by simply not setting those options and let libcurl use its defaults there.

I was under the impression that there will be no FINs going out of the client, and clearly I am wrong.

Correct, libcurl will close connections it could otherwise keep alive - unless of course there's a reason to. Like keeping the number of connections down or killing off old ones etc.

--

 / daniel.haxx.se | Get the best commercial curl support there is - from me
                  | Private help, bug fixes, support, ports, new features
                  | https://www.wolfssl.com/contact/
-------------------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette:   https://curl.haxx.se/mail/etiquette.html

Reply via email to