Thanks for the update. Could you be a bit more specific? What do you mean under "problem with the TCP/IP stack"? If I'd like to use curl_multi_socket_action I had to sacrifice some CPU?
On Wed, Jun 1, 2022 at 4:04 PM James Read <jamesread5...@gmail.com> wrote: > The problem is not with cURL. I have also run into these problems using > cURL. I recoded using sockets and epoll and got the same results. The > problem is with the TCP/IP stack. > > On Wed, Jun 1, 2022 at 1:46 PM Aleh Linkin via curl-library < > curl-library@lists.haxx.se> wrote: > >> 1. easy_handles >> ``` >> SET_OPT(CURLOPT_ERRORBUFFER, m_errorBuffer); >> setVerbose(true); >> setUrl(url); >> setTimeout(timeout); >> setConnectTimeout(connectTimeout); >> setProxy(proxy); >> setProxyPort(proxyPort); >> setHttpHeaders(httpHeaders); >> SET_OPT(CURLOPT_WRITEFUNCTION, writeFunction); >> SET_OPT(CURLOPT_WRITEDATA, m_requestState); >> SET_OPT(CURLOPT_DEBUGFUNCTION, CurlRequest::debugFunction); >> SET_OPT(CURLOPT_DEBUGDATA, this); >> SET_OPT(CURLOPT_PRIVATE, this); >> SET_OPT(CURLOPT_NOSIGNAL, 1L); >> ``` >> >> 2. HTTPS. TLS based on NSS SSL backend >> >> 3. Yes. I've used perf and valgrind-cachgrind but I can't take the reason >> from results. For example perf part: >> ``` >> Samples: 1K of event 'cycles:uppp', Event count (approx.): 9397031894 >> Children Self Command Shared Object Symbol >> - 23.25% 2.43% lecappqry.1 [unknown] [.] >> 0000000000000000 >> - 21.58% 0 >> 5.29% _int_malloc >> 1.42% free >> 1.13% Curl_http >> 1.07% _int_free >> + 0.88% __clock_gettime >> 0.72% _IO_vsnprintf >> 0.71% __libc_calloc >> + 5.07% 0.00% lecappqry.1 [unknown] [k] >> 0x0000000000667849 >> + 5.07% 0.00% lecappqry.1 [unknown] [k] >> 0x00007f33507ad900 >> + 5.07% 4.87% lecappqry.1 lecappqry_grpc [.] >> dprintf_formatf >> + 4.88% 4.71% lecappqry.1 libc-2.17.so [.] _int_free ``` >> >> On Mon, May 30, 2022 at 9:07 PM Patrick Schlangen <patr...@schlangen.me> >> wrote: >> >>> Am 30.05.2022 um 16:23 schrieb Aleh Linkin via curl-library < >>> curl-library@lists.haxx.se>: >>> > >>> > I understand. Thank you. >>> > But why multi_socket_action eats about twice time more CPU then >>> curl_multi_perform called in cycle with 10ms pause? >>> >>> Can you supply some more details about how the easy handle is configured >>> and the type of transfers you are running? Is it HTTP? Are you using TLS? >>> Did you use perf or a similar profiler yet to see where time is spent? >>> >>> Thanks, >>> >>> Patrick >>> >>> -- >> Unsubscribe: https://lists.haxx.se/listinfo/curl-library >> Etiquette: https://curl.haxx.se/mail/etiquette.html >> >
-- Unsubscribe: https://lists.haxx.se/listinfo/curl-library Etiquette: https://curl.haxx.se/mail/etiquette.html